Unity

【Unity】ThirdPersonUserControlの方向転換動作おかしい時の対処

投稿日:

事象

Standard AssetsのThirdPersonUserControlを使用してEthanを動かすとき、デフォルトの正しい動きは↑↓キーで前進後退、←→方向キーで方向転換するはずだが、なぜが←→キーを押すとそれぞれグローバル座標の-XとX方向を向いてそのまま走り出してしまうようになってしまった。

←方向キーを押していると、-X方向を向いて走り出す

調査

デフォルトの状態との違いをいろいろと調べてみると、どうやらcameraが怪しいそうだと分かった。いろいろと触っているうちにMain Cameraを削除してしまい、別途Cameraを作成してEthanの子オブジェクトとして入れている状態であった。

またこのCameraのInspectorを調べたところ、Tagが振られていない。

一方、別環境のデフォルト設定を調べてみるとTagにはMain Cameraがついていた。どうやらこれが怪しい。

対処

CameraにMain Camera Tagを設定したところ、正常な動きである←→キーでの方向転換が行えるようになった。

どうやら、Standard AssetsのThirdPersonControlスクリプトはMain Camera Tagのオブジェクトを呼び出して使っているらしい。

スクリプトをしっかり読んでないので正確なことは分かりませんが、Main Camera Tagが見つからない場合には←→キーではグローバル座標のX軸を目指して動く仕様になっているように見えた。

勉強になりました。

-Unity

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【Unity】ゲームパッド(F310)とInput Managerとの対応まとめ

Contents1 概要2 まず結論3 どうやって調べたか3.1 使用した設定3.2 使用したスクリプト 概要 Unityでロジクール製のF310でキャラクター操作する際に、F310の各ボタンをInp …

【Unity】ゲームパッド(logicool F310)でキャラクターを操作する

Contents1 概要2 環境3 使用したゲームパッドについて4 Step1 : PCへのF310の接続5 Step2 : UnityのInput Managerの設定5.1 「走る」の設定5.2 …

【Unity】OnCollisionEnterで子オブジェクトのTagを認識しない場合の対処法

Contents1 概要2 検証の状況3 結果4 原因と対処法 概要 親子関係を持つオブジェクトの親と子で異なるTagをつけて、子が他のオブジェクトと衝突した場合にタグ検知するとなぜか親のタグしか認識 …

【Unity】キャラクター操作その7 – ジャンプ時にカメラの向きを変える

Contents1 概要2 完成イメージ2.1 Before2.2 After3 カメラの制御方法3.1 カメラオブジェクトの初期姿勢の取得3.2 小刻みに目標角度まで制御3.3 初期姿勢に戻す 概要 …

【Unity】Standard Assetsでサクッと人間をキー操作する

Contents1 目的2 環境3 STEP:1 地面(Terrian)の作成4 STEP:2 キャラの設置5 STEP:3 スクリプトのアタッチ6 STEP:4 Inspectorの設定7 STEP …

言語切り替え

カテゴリー