今回は Unity の Standard Assets のThirdPersonController の前進方向について分からなかったところを調べてみました。
Standard AssetsのThirdPersonControllerをインポート
新しいシーンを作成。メニュー:Assets > Inport Package > Characters を選択してインポート。
[Project]ビュー > Standard Assets > ThirdPersonCharacter > Prefabs > ThirdPersonControllerを選択。[Hierarchy]ウィンドウまたは[Scene]ビューにプレハブをドラック&ドロップでシーンに配置。 [Geme]ビューで[Play]ボタンをクリックしてゲームを再生。するとキャラクターは床が無いのでそのまま墜落します。 [Hierarchy]パネル > Create > 3D Object > Planeを選択してシーンに配置。[Inspector]パネル > Transformコンポーネントの設定ボタン(右端にある歯車アイコン)をクリック > Reset を選択。もう一度[Geme]ビューで[Play]ボタンをクリックしてゲームを再生。今度はちゃんとキャラクターを操作できます。
ThirdPersonControllerは進行方向はどうなっているのか?
ThirdPersonControllerはシーンカメラのZ方向に連動して前進するようになっていました。カメラが固定されていてキャラクターの背中が見えている場合、[↑]キーを押すとキャラクターはカメラから遠ざかるように移動します。
仕組みとしてはThirdPersonControllerに付いているスクリプトThirdPersonUserControlが”MainCamera”タグが設定されているカメラの方向を取得して前進する方向を制御しています。
ThirdPersonControllerを改造して通常移動を歩行に変更する
こちらの記事でThirdPersonControllerを改造して通常移動を歩行に変更する手順を紹介しています。