キー入力+アニメーション起動
キー入力によるループアニメーションの開始
キーを押したらループアニメーションを開始させるには animator のステート変更で exit や w_anim ステートに遷移しないようにする。
Transition の線を削除するには、Transitionの線を選択して Inspector の Transitionsリストで「-」ボタンを押す。
キー入力によるループアニメーションの開始と停止
アニメーションのオン・オフをキー入力で切り替えるには戻る方向のTransitionにもconditionとしてTriggerを設定する。
Has Exit Time を ON にする。
※ Has Exit Time をオフにするとキー入力によりアニメーションが中断する。その際に位置のずれが発生する場合がある。
キー入力中に角度が変化して斜めに傾く板を作成する。
シーンに
Create Empty から 空のゲームオブジェクト slopeP を作成する。
位置を床の付近に移動しておく。板を回転させる規準位置(pivot)として利用する。
同様に、slope を Cubeから作成する。スケールを変更して板状にする。
slopePの階層に加える(子供にする)
回転の規準位置が slopePとなるように移動して調整する。
板に上下するアニメーションを設定する。
slopeP の animation ウインドウで以下の画像のように設定する。
Create を押してアニメーションクリップをファイル名 s_anim.anim として animationsフォルダに保存する。
add Property から Transition Rotation を選択 (※ slopeのTransitionを選ばないように注意)
Frame表示に切り替える(タイムラインの・・・メニュー)
終了フレームを 180 まで移動
中間フレーム 90 をタイムラインをクリックして選択
add key を押す。(※ 今回は記録ボタンを押さずにアニメーションを設定する)
板が傾くように x y z の角度を調整(どのプロパティが適正かはCubeの配置方向による)
中間フレームのキーの設定の様子:
slopeP の AnimatorにParamatorを設定する。名前は speed とする。C#のコードで使用する名前なのでよく確認すること。
s_anim モーションを選択してInspectorから Multiplier(アニメーションの再生速度。0で停止。マイナスで逆再生)を speed に設定する。
C#スクリプト SpeedKeyQ を作成する。
slopeP にスクリプトをアタッチする。