節電鯖民の遊び場

08-音楽や音を鳴らす

最終更新:

mcforum

- view
メンバー限定 登録/ログイン

目次


できたもの


前提


素材集め

+ 詳細を開く
+ 引用文を開く
HP・ブログ・SNSをお持ちの方は効果音を使用した際、リンクを貼っていただけると嬉しいです。
無料効果音で遊ぼう! https://taira-komori.jpn.org/
Audacityの音付きエフェクト解説・声の加工方法なんかもやってます。


  • 適当なAssetsのディレクトリに格納しておく


BGMを付ける

+ 詳細を開く

音源の登録

  • BackgroundVideoPlayer に音源を持たせることにする
    • Assetsに格納されている音源ファイルを、ヒエラルキーのオブジェクトにドロップすることで、AudioSourceコンポーネントが追加され、Clipとして登録される
    • Play On Awake のチェックで、開始と同時に再生を開始する
    • Loop でBGMとしてなり続けるように設定
    • Volume は小さめで


クリック音を付ける

+ 詳細を開く

音源の登録

  • Clickスクリプトのついている GameController に音源を持たせることにする
    • Assetsに格納されている音源ファイルを、ヒエラルキーのオブジェクトにドロップすることで、AudioSourceコンポーネントが追加され、Clipとして登録される
    • Play On Awake のチェックは外すことで、開始時には鳴らないようにする。
    • Loop も外しておく。
    • Volume は半分ぐらい(お好み)


スクリプトから再生

+ 詳細を開く
  • AudioSource を追加し、クリック検知のタイミングで PlayOneShot を用いて自身についている clip を単発再生する。
  1. using UnityEngine;
  2.  
  3. public class Click : MonoBehaviour
  4. {
  5. GameController gameCtrl;
  6. AudioSource audio;
  7.  
  8. void Start() {
  9. gameCtrl = GameObject.FindObjectOfType<GameController>();
  10. audio = gameObject.GetComponent<AudioSource>();
  11. }
  12. void Update() {
  13. if (!gameCtrl.clickable) {
  14. return;
  15. }
  16. if (Input.GetMouseButtonDown(0)) {
  17. // クリック数をインクリメントし、ゲームコントローラー経由で全体に通知する
  18. gameCtrl.IncrementCount();
  19. audio.PlayOneShot(audio.clip);
  20. }
  21. }
  22. }
  23.  

目安箱バナー