概要

こんにちは!Qitzの平田です!

前回に続いて、今回はUnity公式の2Dアクションチュートリアルを徹底的に丁寧に解説して行きます!

https://learn.unity.com/tutorial/character-controller?uv=2019.3&projectId=5ea809f0edbc2a00215f1fa5#5ea81ee4edbc2a00215f245c

今回はキャラクターが移動方向に応じて向きが切り替わる処理を作って行きます。

まずは、前回作った処理をグループ分けする

windows [control]+左ドラッグ

mac [command]+左ドラッグ

でグループ枠を作成できます。

各種Unitの処理をグループ分けするのに便利です。

あとは、グループにわかりやすい任意の名前をつけてやります。

移動方向に応じてキャラクターの向きを変える

ここからは、Unity公式が超スピードなのでこちらもスピードを上げて対応していきますよー!

まずは、各種Unitを作成して以下のように配置+つないで方向反転用のGraphを作成します!

各種Unitをつないで、グループで囲みFlipと名前をつけます。

このGrapは、移動方向に応じてキャラクターの向きを変えるための処理になります。

Updateの処理の流れに繋ぎます。

UpdateにつながっているSetVelocityをBranchの緑矢印入り口に繋ぎます。

この処理の詳細説明(どういった処理の流れになっているのか?)

Graph処理の流れを見ていきます!

1:GetVariableでMovementを取得(5~-5)の値を取得できる(矢印キー入力に応じて変わる)

2:Comparisonで条件判定を行います。今回はMovementが0超過の場合、0に等しいかどうかの場合の処理を各種入れています。

3:Movementが0超過だった場合は、(-1,1,1)のスケールをそうでない場合は(1,1,1)のスケールを自身に適用します。

4:Branch経由でMovementが0の時(矢印水平キー入力が何もない場合)以外の時にSetLocalScaleの処理を駆動させます。

ここで、Movementが0の時(矢印水平キー入力が何もない場合)以外の時は、SetLocalScaleの処理が働くようになっています。

では、上記の処理を動かしてみます・・・!!

はい!移動方向に応じてキャラクターの向きが切り替わるようになりました!

万歳!

次回

次回はキャラクターのアニメーションなどを入れていきたいと思います!

お楽しみに!