LoginSignup
5
4

More than 5 years have passed since last update.

Unityで2D格闘ゲームの歩行を作るならモーションのExit Time等を設定して足元が滑って見えないようにする

Last updated at Posted at 2017-06-05

画像アップロード容量上限があるようなので、記事の全面 再構成を進めている。

足元が滑って見えないようにする

201701141519gif4.gif
よく走っている。

やること モーションとモーションのバトンタッチの間のクロスフェードみたいな設定を切る

運動会を思い出してほしい。
201701141456a15.png
赤組がんばれ、白組がんばれ!
このリレーの図は、モーションの切り替えを説明している。

Unityエディターで こんなインターフェースを見たことがないだろうか。
201701141456a21.png
何をするものなのか?

このスタイリッシュな図は アニメーターのインスペクターに表示される。
201701141456a19.png

このタイムラインの使い方について 最速で理解する方法は シークバーを動かすことだ。
201701141519gif6.gif
青い人間は Dash、オレンジ色の人間は Escape で、
うっすらと見える青色の線が 乗り換えタイミングだ。
2つ目の Dash は来ない。
エスカレーターみたいになっているところの、ちょうど真ん中で画像が挿し替わっている。

Exit Time

201701141456a24.png
Exit Time は、乗り換え前のモーションが1リピートするのを 1 としたときの、途中下車するタイミングだ。

Transition Duration

201701141456a26.png
Transition Duration は、乗り換え前のモーションの長さを1としたときの、乗り換え区間の長さの割合だ。
3Dなら ここでクロスフェードでもしてくれるのかもしれないが、2Dでは何の恩恵もない。区間の真ん中でバッサリ切り替わる。

ということは、2Dでは Transition Duration は常に 0 にしておいて Exit Time でしっかり切り替えタイミングを設定した方がよさそうだ。とほほ。

Transition Offset

201701141456a30.png
Transition Offset は、乗り換え後のモーションが 先行して走り出している長さだ。
例えば 0.7 に設定しておけば、乗り換え元のモーションを抜けたときには 乗り換え先のモーションは 7割進んだフレームになっている。

これで今日から モーション切り替えの鬼となれるだろう。Exit Time を 1 に、Transition Duration を 0 に、と丸暗記していた昨日とは おさらばしよう。今日からは 好きなタイミングでモーションを抜け、好きなタイミングからモーションに入ることができる。

ループ再生の話し キーを押した直後だけ再生、離して停止

201701141519gif1.gif
右キーを押したら 歩行モーションを開始する、というプログラムだと、ゲームでは ずっと右キーを押しているだろうから、 ずっと 歩行モーションの1フレーム目からの開始しろ、って指示し続けることになるので ずっと1フレーム目が表示されている。ムーンウォークする。

201701141519gif3.gif
キーを押した瞬間だけ 歩行を開始し、あとは 歩行モーションをループ再生させよう。右キーを離したときに 歩行モーションを停止すればいい。

201701141456a32.png
そのプログラムは 状態遷移だけで組める。
dash トリガー(1フレームで消えるフラグ)にチェックが入った瞬間 Dashモーションに移行するように Conditions を設定しておく。
左右キーを押したとき、dash トリガーと、dashing (フラグ)にチェックを入れるようにスクリプトに書いておく。

201701141456a34.png
左右キーを放したときに、dashing(フラグ)のチェックを外すようにスクリプトに書いておいた。

コントローラーの話し キーのニュートラルを意識する

この節の記事は 移動した。
http://makegame.warabenture.com/?p=392

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4