前提・実現したいこと
Unityで特定のobjectに当たると音を出すscriptを書いたのですが
特定のobjectに当たっても音が鳴りません
原因、欠陥があれば教えてほしいです
発生している問題・エラーメッセージ
エラーメッセージは特に出てません
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class sound : MonoBehaviour { public int color; public AudioClip a; public AudioClip b; void Start() { } // Update is called once per frame void Update() { } private void OnTriggerEnter(Collider other) { if (color == 0 && other.gameObject.tag == "Red") { GetComponent<AudioSource>().PlayOneShot(a); } if (color == 1 && other.gameObject.tag == "Blue") { GetComponent<AudioSource>().PlayOneShot(a); } if (color == 2 && other.gameObject.tag == "Green") { GetComponent<AudioSource>().PlayOneShot(a); ; } if (color == 3 && other.gameObject.tag == "Yellow") { GetComponent<AudioSource>().PlayOneShot(b); } } }
試したこと
補足情報(FW/ツールのバージョンなど)
まず、OnTriggerEnter()自体は実行されているのでしょうか?
Debug.Log()かブレークポイントで確認してみてください。
実行されているようです
Debug.Logでcolorの値やother.gameObject.tagの値は確認しましたか?
はい
何回か実行を繰り返してたら
Can not play a disabled audio source
と出ました(audio sourceはオンになってます)
凡ミスの可能性はないですか?
・AudioListenerがない(通常MainCameraにアタッチされている)
・AudioSourceのボリュームが小さい
・3DSound(距離に応じて音量が変化)の設定が適切出ない
・PCにイヤホンが刺さってる
また、他の方法(UIボタンをクリックなど)で同じAudioClipを鳴らした時は正常に音がなりますか?
回答1件
あなたの回答
tips
プレビュー