画像アップロード容量上限があるようなので、記事の全面 再構成を進めている。
足元が滑って見えないようにする
やること モーションとモーションのバトンタッチの間のクロスフェードみたいな設定を切る
運動会を思い出してほしい。
赤組がんばれ、白組がんばれ!
このリレーの図は、モーションの切り替えを説明している。
Unityエディターで こんなインターフェースを見たことがないだろうか。
何をするものなのか?
このスタイリッシュな図は アニメーターのインスペクターに表示される。
このタイムラインの使い方について 最速で理解する方法は シークバーを動かすことだ。
青い人間は Dash、オレンジ色の人間は Escape で、
うっすらと見える青色の線が 乗り換えタイミングだ。
2つ目の Dash は来ない。
エスカレーターみたいになっているところの、ちょうど真ん中で画像が挿し替わっている。
Exit Time
Exit Time は、乗り換え前のモーションが1リピートするのを 1 としたときの、途中下車するタイミングだ。
Transition Duration
Transition Duration は、乗り換え前のモーションの長さを1としたときの、乗り換え区間の長さの割合だ。
3Dなら ここでクロスフェードでもしてくれるのかもしれないが、2Dでは何の恩恵もない。区間の真ん中でバッサリ切り替わる。
ということは、2Dでは Transition Duration は常に 0 にしておいて Exit Time でしっかり切り替えタイミングを設定した方がよさそうだ。とほほ。
Transition Offset
Transition Offset は、乗り換え後のモーションが 先行して走り出している長さだ。
例えば 0.7 に設定しておけば、乗り換え元のモーションを抜けたときには 乗り換え先のモーションは 7割進んだフレームになっている。
これで今日から モーション切り替えの鬼となれるだろう。Exit Time を 1 に、Transition Duration を 0 に、と丸暗記していた昨日とは おさらばしよう。今日からは 好きなタイミングでモーションを抜け、好きなタイミングからモーションに入ることができる。
ループ再生の話し キーを押した直後だけ再生、離して停止
右キーを押したら 歩行モーションを開始する、というプログラムだと、ゲームでは ずっと右キーを押しているだろうから、 ずっと 歩行モーションの1フレーム目からの開始しろ、って指示し続けることになるので ずっと1フレーム目が表示されている。ムーンウォークする。
キーを押した瞬間だけ 歩行を開始し、あとは 歩行モーションをループ再生させよう。右キーを離したときに 歩行モーションを停止すればいい。
そのプログラムは 状態遷移だけで組める。
dash トリガー(1フレームで消えるフラグ)にチェックが入った瞬間 Dashモーションに移行するように Conditions を設定しておく。
左右キーを押したとき、dash トリガーと、dashing (フラグ)にチェックを入れるようにスクリプトに書いておく。
左右キーを放したときに、dashing(フラグ)のチェックを外すようにスクリプトに書いておいた。
コントローラーの話し キーのニュートラルを意識する
この節の記事は 移動した。
http://makegame.warabenture.com/?p=392