前回の記事では、キャラクターを左右に歩かせる処理を実装しました。
今回は「キャラクターの顔の向きを移動方向に合わせる処理」を追加していきます!
↓実装後イメージ↓

実装の流れ
① 移動方向を確認する
キャラクターが 右に動いているのか、左に動いているのか を判定します。
今回も Update()
内で毎フレーム処理を確認します。
Player.cs
void Update()
{
_Move();
_LookMoveDirec(); // 顔の向きを変更する処理を呼ぶ
}
② 顔の向きを変える処理を書く
キャラクターの向きは transform.eulerAngles
を使って調整します。
右を向くときは (0, 0, 0)
、左を向くときは (0, 180, 0)
に設定します。
// 顔の向きを変える
private void _LookMoveDirec()
{
// 右方向に移動中
if (_inputDirection.x > 0.0f)
{
transform.eulerAngles = Vector3.zero;
}
// 左方向に移動中
else if (_inputDirection.x < 0.0f)
{
transform.eulerAngles = new Vector3(0.0f, 180.0f, 0.0f);
}
}
③ ポイント解説
transform.eulerAngles
… オブジェクトの回転角度を直接指定できます。(0, 180, 0)
にすることで、キャラクターが左右反転して表示されます。- 移動方向が
0
(停止中)のときは処理を行わないため、向きはそのままになります。
動作確認
ゲームを実行して、キャラクターを左右に動かしてみましょう!
- →キーで右を向く
- ←キーで左を向く

これで「歩く処理」に加えて、移動方向に応じてキャラクターの顔の向きが変わる処理が完成しました!
まとめ
Update()
で毎フレーム移動方向を確認transform.eulerAngles
で左右反転を実現- 右=
Vector3.zero
、左=(0, 180, 0)
次回は「ジャンプ処理」を作成していこうと思います!
コメント