質問内容
オブジェクトの中にあるカメラを指定し、
視点移動を実装したい(cameraの深度は0にしてある)
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class OneCamera : MonoBehaviour 6{ 7 8float inputHorizontal; 9float inputVertical; 10Rigidbody rb; 11 12float moveSpeed = 2.5f; 13 14 15void Start() { 16 rb = GetComponent<Rigidbody>(); 17} 18 19void Update() { 20 inputHorizontal = Input.GetAxisRaw("Horizontal"); 21 inputVertical = Input.GetAxisRaw("Vertical"); 22} 23 24void FixedUpdate() { 25 // カメラの方向から、X-Z平面の単位ベクトルを取得 26 Vector3 cameraForward = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized; 27 28 // 方向キーの入力値とカメラの向きから、移動方向を決定 29 Vector3 moveForward = cameraForward * inputVertical + Camera.main.transform.right * inputHorizontal; 30 31 // 移動方向にスピードを掛ける。ジャンプや落下がある場合は、別途Y軸方向の速度ベクトルを足す。 32 rb.velocity = moveForward * moveSpeed + new Vector3(0, rb.velocity.y, 0); 33 34 // キャラクターの向きを進行方向に 35 if (moveForward != Vector3.zero) { 36 transform.rotation = Quaternion.LookRotation(moveForward); 37 } 38} 39} 40
頭オブジェクトのインスペクター
補足情報(FW/ツールのバージョンなど)
Unity:2019.4.13LTS
os:Mac
で、しつもんはなんでしょうか