Unity アニメーションに合わせて効果音を鳴らしてみよう! Unity学習23
どうもみなさん今日もお元気でしょうか?
ゆうきやんです。
最近のニュースでは、bコロナの影響で収入が減ったとの
夫婦の話をしていて、喧嘩になり、妻を殺してしまったと言う。
世の中物騒ですね。
そんな収入減るのなんかどうしようもできないんで
別の方法を考えていけばいいのにな、って悲しくなりました。
しょっぱな物騒な話から始まりましたが、本題に入っていきましょう!
アニメーションに合わせて効果音を鳴らしてみよう!
アニメーションに簡単に効果音を付けれたら楽しいし、
ゲームの演出もかなり華やかになっていきますよね!
Unityを始めた頃、BGMの付け方は簡単なのに効果音は
どうやって付ければいいのか
凄い困った時が僕自身ありました。
※一応ですがBGMの付け方は下記記事を貼っておくので参考にしてください。
www.unityprogram.info
この記事を見ている方は、多分キャラクターと
アニメーションの準備は出来てると思うのでそのつもりで
説明をしていきます。
もし何言ってるか分からないよって方は
下記記事よりUnityちゃんのキャラクターを用意してやって見てください。
www.unityprogram.info
まず、Hierarchy内にある①の自分が用意したキャラクターをクリックします。
Inspector内にある②のAnimatorの③のControllerにセットしてある
Animator Controllerをクリックします。
そうすると、④のように、Project内に自分が使っている
Animator Controllerが一瞬で表示されるのでそれを
ダブルクリックして⑤のようにAnimatorを表示させてください。
※今の段階でなんのこっちゃ!って方は一度下記記事より
アニメーションを作ってキャラクターを動かすまでやるといいかもしれません。
www.unityprogram.info
Animator内にある自分が効果音をつけたいアニメーションをクリックします。
今回僕はキックのアニメーションに効果音をつけたいので①のKickを選択します。
Inspector内の②のMotionにセットされたAnimationをクリックすると、
また同じようにProject内に瞬時にセットされた③のAnimationが表示されるので
それをクリックします。
①のようにAnimation画面が出てきたら、今回コレは
使わないので❌ボタンをクリックして消してしまいましょう。
次に、Inspector内にある②のEditをクリックします。
Inspector内を見てみると一番上には、
Model,Rig,Animation,Materialsと並んでいるので
Animationを選択して下にスクロールしてください。
そうすると①のEventがあるので▶︎をクリックして展開しましょう。
次に、②の再生ボタンの横にある白い棒があるので、
ドラッグしながら動かすと③のキャラクターがアニメーションの動きをします。
自分がどの部分で効果音を使いたいか動かして決めてください。
場所が決まったら、④の白い棒Add Eventをクリックすると、
⑤のように青い棒が出現します。
⑥のFunction(関数)の所に自分の好きな名前を設定してください。
今回僕は、PlayKicksoundとしました。
最後にInspectorの下にあるApplyをクリックして情報を更新します。
①のスクリプトをProject内に作成しますが、あくまで参考にしてください。
元々キャラクターのアニメーションを動かすスクリプトがあれば
下記のスクリプトを元に足りない部分を追加してみてください。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class KIckMelody : MonoBehaviour { //Animatora型を変数animatorで宣言します。 private Animator animator; //AudioSource型を変数audioSourceで宣言します。 private AudioSource audioSource; //AudioClip型を変数Kicsoundで宣言します。 //publicで宣言してInspectorで設定できるようにします。 public AudioClip Kicksound; void Start() { //GetComponentでAnimatorを取得して、変数animatorで参照します。 animator = GetComponent<Animator>(); //GetComponentでAudioSourceを取得して、変数audioSourceで参照します。 audioSource = GetComponent<AudioSource>(); } //この部分はアニメーションを動かすだけの処理なので //気にしなくていいと思います。 void Update() { //Inputされているマウスの左クリックが押された時の処理。 if (Input.GetMouseButtonDown(0)) { //animatorに設定されたTriggerのKickを実行するよ。 animator.SetTrigger("Kick"); } } //ここの部分が一番重要です!! //先程アニメーションイベントで決めたFunctionの名前 //僕は今回PlayKicksoundなので同じ名前を記述します。 public void PlayKicksound() { //イベントが呼ばれたらAudioClip型の変数Kicksoundを //流すようにするよ! audioSource.PlayOneShot(Kicksound); } }
こんな感じでアニメーションイベントを使って、
効果音を流せる設定にします。
次に②のキャラクタに作ったスクリプトを
ドラッグ&ドロップしてアタッチします。
②のキャラクターのinspectorの一番下にある
Add ComponentからAudio Sourceを追加して、
音を出せるようにしましょう。
最後に、③の効果音をInspector内にあるAudio Clip(Kicksound)
にドラッグ&ドロップをして完成です。
今回効果音は下記サイトより、演出、アニメから『とうっ』
って言う声をダウンロードしてきました。
soundeffect-lab.info
上手くいったでしょうか?
今回僕はキックアニメーションと同時に
効果音をつけて見ました。
Gif画像だと音が出ないので動画で表示できるように
コレからしていきたいと思います。
ご視聴ありがとうございました!
※このままUnity学習していきたい方は下記カテゴリを見て見てください。
www.unityprogram.info
※本格的に3Dを作っていきたい方は下記カテゴリを参考にしてください。
www.unityprogram.info
※初心者編は下記カテゴリから。
www.unityprogram.info
※オススメアセットの紹介は下記より見てください!
www.unityprogram.info