Unityにて、プレイヤーオブジェクトを中心にカメラを回転させたいと考えています。
RotateAround
の一つめの引数に中心としたい位置を設定するとのことで、player.transform.position
を指定しているのですが、左右のキーを押してもその場でカメラが回転するだけです。
また、Vector3.zero
を指定しても同様にその場で回転してしまいます。
player.transform.position
は正しくプレイヤーの位置を示しているのですが、何か他に設定が必要なのでしょうか。
ちなみに、PlayerオブジェクトはWASDキーで移動できるように設定しています。
CameraController
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class CameraController : MonoBehaviour 6{ 7 public GameObject player; 8 private Vector3 offset; 9 10 void Start() 11 { 12 offset = transform.position - player.transform.position; 13 Debug.Log(player.transform.position); 14 } 15 16 void LateUpdate() 17 { 18 transform.position = player.transform.position + offset; 19 } 20 21 void Update(){ 22 if (Input.GetKey ("right")) { 23 transform.RotateAround(player.transform.position,Vector3.up,-2.0f); 24 // transform.RotateAround(Vector3.zero,Vector3.up,-2.0f); 25 } 26 if (Input.GetKey ("left")) { 27 transform.RotateAround(player.transform.position,Vector3.up,2.0f); 28 // transform.RotateAround(Vector3.zero,Vector3.up,-2.0f); 29 } 30 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 01:46