私は現在、Unity上にある3Dモデルをカメラの操作によって360度どこでも好きな角度から見れるようなものを作ろうとしています。
マウスのドラッグでカメラを操作する方法では実装できたのですが、諸事情でキーボードでの操作を実装したいです。
transform.RotateAroundを使用してY軸を軸とした水平方向の回転は実装できたのですが、
垂直方向の回転がX軸とZ軸でごちゃごちゃになってうまく実装できずにいます。
現時点でのコードを下記に記します
C#
1コードusing System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class NewBehaviourScript : MonoBehaviour 6{ 7 8 //プレイヤーを変数に格納 9 public GameObject Player; 10 11 //回転させるスピード 12 public float rotateSpeed = 1.0f; 13 14 // 中心点 15 [SerializeField] private Vector3 _center = Vector3.zero; 16 17 // 回転軸 18 [SerializeField] private Vector3 _axis = Vector3.up; 19 20 // 円運動周期 21 [SerializeField] private float _period = 2; 22 23 24 // Use this for initialization 25 void Start() 26 { 27 28 } 29 30 // Update is called once per frame 31 void Update() 32 { 33 34 //回転させる角度 35 float h = Input.GetAxis("Horizontal") * rotateSpeed; 36 float v = Input.GetAxis("Vertical") * rotateSpeed; 37 38 //プレイヤー位置情報 39 Vector3 playerPos = Player.transform.position; 40 41 //カメラを回転させる 42 transform.RotateAround(playerPos, Vector3.up, h); 43 transform.RotateAround(_center, _axis, v); 44 45 46 } 47}
キーボード入力からの操作で、カメラを対象のオブジェクトの周りを360度自由に回転するにはどうしたらいいでしょうか
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。