簡體   English   中英

Unity3D CharacterController運動問題。 相機位置未更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM