質問: 0.1f; public FixedJoystick joystick; public Transform verRot; public Transform horRot; void Start() { } void Update() { horRot.transform.Rotate(-joystick.Vertical*speed, 0, 0); verRot.transform.Rotate(0, joystick.Horizontal*speed, 0); } } ``` ### 試したこと ・joystickmoveのver power=new Vector3というのがワールド座標の移動だと思い、Vector3をtransformなどに変えてもエラーが出てしまいました。 ・LookAtなどを使うのかと思い、メインカメラをターゲットにしてみましたが、やはりうまくいきませんでした。 ・ワールド座標をローカル座標に変換ということを調べたのですが、自分の知識不足がうまくいきませんでした。 プログラミングの知識などが全くなく、また、unityの使用経験もほとんどないため、調べたりしても何もわからないような状態です。 なにかとお手数をおかけいたしますが、ぜひともよろしくお願いいたします。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: Unity には FPS としてカメラを動かす機能が付いてるのでそれを使うといいと思います。もちろんジョイスティックにも対応してます。 ここ でやり方が説明されてて、FPS として動くサンプルも DL できます。 コードの問題点としては入力に対してワールド座標系で移動方向を指定しているが、それは「カメラのローカル座標系に対して」ベクトルを変換しなければならないということですね。