株式会社ビーム

株式会社ビームのHPでは、主にゲームソフトウェアの開発業務をしております。サウンド制作 (音楽・効果音制作、Wwise実装)、ゲームエンジンへの実装業務 (Unity / Unreal Engine など)、グラフィックデザイン制作、 映像制作についてご相談ください。

【Unity】環境音をランダムで鳴らす

環境音を鳴らす際、ステレオの環境音をループで鳴らすのも良いのですが、単発で複数の「風の音」や「虫の鳴き声」をフィールドのあちこちからランダムで鳴らすと、表現力がより深まります。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RandomSE : MonoBehaviour
{

    void Start()
    {
        audioSource = GetComponent<AudioSource>();
        InvokeRepeating("PlaySound", 0f, Random.Range(0.0f, 5.0f));
    }

    public void PlaySound()
    {

        if (audioSource.isPlaying)
        {
            audioSource.Pause();
        }

        audioIndex++;
        if (audioIndex > clips.Count - 1)
        {
            audioIndex = 0;
        }

        audioSource.clip = clips[audioIndex];
        audioSource.Play();
    }

    public void StopSound()
    {

        if (audioSource.isPlaying)
        {
            audioSource.Stop();
        }

        CancelInvoke();
    }
}

前へ 投稿

© 2024 beam-works.co.jp