【Unity入門③】キャラクターの顔の向きを変える処理を作ろう

Unity入門

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

↓実装後イメージ↓


実装の流れ

① 移動方向を確認する

キャラクターが 右に動いているのか左に動いているのか を判定します。
今回も 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)

次回は「ジャンプ処理」を作成していこうと思います!

コメント

タイトルとURLをコピーしました