今回は迷路内の扉の開閉動作、その時の効果音の出力の制御について紹介する
〇大まかな流れ
2 扉にプレイヤーが近づいたかどうかの検出を行うコライダーを設定
1 扉のアニメーションを作成
以下では開くアニメーションの作成方法を紹介する
扉のモデルを選択し、上記のようにしてAnimationウインドウを開く
Animationウインドウが開いたら、真ん中のCreateボタンを押す
するとアニメーションのファイルを保存するウインドウが開くので、適当な名前を付けて保存する
Animationウインドウにて、変化させたいプロパティを追加。今回はY軸を中心として回転させたいので、TransformのRotationのプロパティを追加
プロパティを追加するとはじめと適当なもう一か所にキーフレームが挿入される
今回は0フレームの箇所は閉じた状態で、60フレームの箇所では120度開いた状態にしたいので、プロパティに120を入力
こうしてキーフレームの作成ができたので、再生ボタンを押すと、扉が開くアニメーションが再生される
なお、今回は使用しているモデル自体の原点が扉の軸(アンカーポイント)に最初から設定されていたため、パラメーターを入力するのみで行けたが、原点がモデルの中心だったりする場合は、下記のような調整が必要となる
①モデリングのソフト等で原点を調整
②Unity上で親オブジェクトとする空のゲームオブジェクトを作成し、原点を調整したいモデルをこの空のゲームオブジェクトの子オブジェクトにして、親オブジェクトの位置をモデルの原点としたい位置に調整して、アニメーションでは親オブジェクトのプロパティを操作してアニメーションをさせる
なお、さらに閉じるアニメーションを作るには、下図のように、現在のアニメーションクリップの下にあるCreate New Cripをクリックして、先ほど作成したアニメーションのプロパティの設定を最初を120、最後を0として作成する
〇Animatiorの設定
上記では、扉の開く、閉じるのアニメーションは作成した
ここでは、これらの切り替え方法について解説していく
アニメーションを作成し、ゲームオブジェクトに割り当てた時点で、自動的にAnimatorのファイルが作成されている
おそらく最初は上記のようになっていると思われるので、いったん先に割り付けられているモーションを削除する
いきなり扉が開くモーションからスタートすると都合が悪いので、最初の状態用に空のStateを作成する
名前はHomePositionとしておく
次に作成したアニメーションを選択して配置する
上記のように配置を整理して、さらにアニメーションの遷移の設定を行う
一通りつないだのが上図
最後にアニメーションの遷移の切り替え用にパラメーターを設定しておく
今回はBool型のDoorOpenを作成した
各遷移時の設定については
HomePosition⇒Door_Open_Anim true
その他はfalseに設定
※注意事項
作成したアニメーションについては、アニメーションのファイルを選択してInspectorのLoop Timeのチェックを外しておく
外しておかないとアニメーションをループして再生してしまうため
今回はここまで