【cluster向け】BGM切り替えギミックを作ろう!
作るもの
今回作るものは以下のようなギミックです。
機能としては、
3つのBGMを切り替える
ボタンを押すとBGMが切り替わる
5秒かけてフェードする
のようになっています。
それでは早速作っていきましょう!
BGM設定
1.BGM用のAudioSourceを作成する
ヒエラルキーの左上+ボタン>Audio>AudioSource
を選択し、BGMを流す用のAudioSourceを作成します。
作成したAudioSourceを複製し、3つ用意します。
わかりやすいように名前をBGM1/2/3に変更します。
2.BGMの設定を行う
作成したAudioSourceにBGMを設定し、
それぞれに対して音量調整やLoop設定などを行います。すべてのBGMがだいたい同じくらいの音量になるように
設定してください。
詳しい設定については以下のページで詳しく解説されています。
アニメーション設定
1.制御用の親オブジェクトを作成する
空オブジェクトを作成し、
3つのAudioSourceを子に移動します。わかりやすいように名前をBGMControlに変更します。
2.アニメーションファイルを作成する
先程作成したBGMControlを選択した状態で
Animationウィンドウを表示します。Animationウィンドウが見当たらない場合はWindow>Animation>Animation
を選択してウィンドウを表示してください。
AnimationウィンドウのCreateボタンを押します。
Createボタンを押すと保存先と名前を聞かれるので、
わかりやすいようにBGMフォルダを作り、BGM1という名前で保存します。
3.アニメーションを編集する
まず、BGM1が再生されている状態のアニメーションを作成します。
BGMControlを選択し、Animationウィンドウの録画ボタンを押します。
BGM1を選択し、
チェックボックス右クリック>AddKeyを選択します。AudioSourceのVolumeも同じようにしてAddKeyを選択します。
BGM2とBGM3を選択し、Volumeの値を0に設定します。
Animationウィンドウが以下のようになっていればBGM1の
アニメーションは完成です。
4.アニメーションを追加する
BGM1の編集が終わったので、BGM2のアニメーションを追加します。
Animationウィンドウ左上のBGM1をクリックし、
CreateNewClip…を選択します。
また保存場所が聞かれるので、
先ほどと同じ場所にBGM2という名前で保存します。
BGM1と同じようにしてBGM2とBGM3のアニメーションを設定します。
ここまでに設定が終わったら、
BGM1/BGM2/BGM3を選択し、非アクティブにします。
Animator設定
1.AnimatorのStateをつなげる
BGMControlを選択した状態でAnimatorウィンドウを開きます。
Aniamtorウィンドウが見当たらない場合はWindow>Animation>Animator
を選択してウィンドウを表示してください。
AnyStateを右クリックし、MakeTransitionを選択したあと
それぞれのStateに接続してください。
2.AnimatorParameterを追加する
現在再生されているBGMを管理するためにパラメータを追加します。
Aniamtorの左上にある+ボタンを押し、Intを選択します。
わかりやすいようにCurrentBGMという名前に変更します。
3.Transition(矢印)の設定を行う
アニメーションの遷移条件などの設定を行います。
矢印を選択し、設定を開きます。
Settingsを開き、
TransitionDuration(s)を5秒、
CanTransition(s)のチェックをOFFに設定します。
Conditionsの+ボタンを押して条件を追加し、
CurrentBGM Equals 0
に設定します。
他の矢印についても同じように設定します。
4.動作確認してみる
CCKを使用する前に、動作が正常かどうかを確認しましょう。
再生ボタンを押します。
最初にBGM1が流れれば成功です。
エラーが出る場合はCCKに必要なオブジェクトが存在するかを
確認しましょう(SpawnPoint/DespawnHeight)
CurrentBGMの数字を1~3に変更して
BGMが変わるか確認しましょう。
ギミック作成
1.ロジック用アイテムを作成する
処理を管理するアイテムを作成します。
空のGameObjectを作成し、
わかりやすいように名前をBGMLogicにしておきます。OnCreateItemLogicを追加します。
OnCreateItemLogicの+ボタンを押し、
TargetをCurrentBGM、
ValueをInteger/1
に設定します。
2.スイッチ用アイテム作成する
BGM切り替え用のスイッチとなるアイテムを作成します。
Cubeを作成し、
わかりやすいように名前をBGM1Switchにしておきます。InteractItemTriggerを追加します。
InteractItemTriggerの+ボタンを押し、以下のように設定します。
同じようにしてBGM2Switch/BGM3Switchを作成します。
InteactItemTriggerの数字は設定するBGMによって変更します。
3.ギミックを設定する
BGMControlを選択し、SetAnimatorValueGimmickを追加します。
SetAnimatorValueGimmickを以下のような設定にします。
最後にBGMSwitchをいい感じの位置に移動させます。
完成
これで、BGM切り替えギミックは完成です!
もし、BGMを増やしたい場合は最初の手順から同じように行えば
簡単に追加できます。
よったらぜひ作ってみてください!
~サンプル動画使用BGM~
カナリアスキップ written by まんぼう二等兵
情動カタルシス written by まんぼう二等兵
ワスレナグサ written by まんぼう二等兵
この記事が気に入ったらサポートをしてみませんか?