🧩

Unity--空間内移動のScriptを追加する

2023/01/05に公開

Unity 2021.3.11f1

大きな目標

Unityの空間で検索結果を三次元的に表示し、空間内を移動しながら表示内容を確認する。

中期的な目標

検索情報をC#でUnityに送り込む。

今日の目標

空間内を上下・前後・左右自由に動き回れるようにする。歩いたり走ったりするのではなく、飛び回る感じ。

参考記事
https://htsuda.net/archives/1662

  • playerにRigidbodyをattachし、なおかつGravityをoffにする
  • 上記記事を参考に移動のScriptを書く
  • Scriptをplayerにattach
  • edit>project setting>Input ManagerでYaw,Pitch,Rollをセットする

問題
ちょうど1年前にこの設定をしたときには斜め旋回のような複雑な動きができたのだが、今回A,W,Eのキーが作動せず、Q,S,Dも想定している回転ではなく平行移動になっている。

仮説1 参照記事が2015年と古いので、何かしら変更されている。
対応 残念ながら同等の新しい記事が見当たらない。

仮説2 前回は一人称カメラがStandardAssetだったが、今回、新しい記事を参照して設定したところ、マウスでの回転が設定されていた。これが競合している可能性はあるか?
対応 一人称カメラのためのScriptをプレーヤーから外す。 
→正解 キー操作での回転がすべて可能になった。

まとめ

三次元空間内を飛翔する設定ができた。ただしマウスでの視点移動はできなくなった。
実は、回転をキーで操作すると、たいがい大混乱に陥って、視点を制御できなくなるのだが、これは自分が「Game下手」だというだけの話なので、このまま続行する。

Discussion