[英]Unity3D CharacterController movement issue. Camera position not changed
我有一個問題,即在調用CharacterController.SimpleMove()之后,主攝像機位置不會更改。 任務是創建攝像機移動的場景。 我有帶有“角色控制器”和“腳本”的Main Camera游戲對象。 問題是在調用SimpleMove()之后,vrCamera位置沒有任何變化。
我的問題是這段代碼有什么問題。 我建議MainCamera對象和CharacterController組件之間的綁定有問題,但是我花了很多時間進行調查,但沒有發現任何問題。
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class VRLookWalk : MonoBehaviour {
public Transform vrCamera;
public float toggleAngle = 30.0f;
public float speed = 3.0f;
public bool moveForwad;
private CharacterController cc;
// Use this for initialization
void Start () {
cc = vrCamera.GetComponent<CharacterController>();
}
// Update is called once per frame
void Update () {
if (vrCamera.eulerAngles.x >= toggleAngle && vrCamera.eulerAngles.x < 90.0f)
{
Vector3 forward = vrCamera.TransformDirection(Vector3.forward);
cc.SimpleMove(forward * speed);
}
}
}
您無法移動VR攝像機,而是由SDK決定mainCamera的位置。
為了移動您的相機,您可以只創建一個新GameObject
mainCamera
作為mainCamera
的父mainCamera
然后移動父GameObject
嘗試這個。 您的TransformDirection可能返回錯誤的向量。
Vector3 forward = vrCamera.transform.forward;
cc.SimpleMove(forward * speed);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.