我有一个问题,即调用CharacterController.SimpleMove()后主摄像机位置没有改变。任务是创建相机移动的场景。
我有主相机游戏对象,附加有角色 Controller 和脚本。
问题是调用 SimpleMove() 后 vrCamera 位置没有任何变化。
我的问题是这段代码有什么问题。我建议 MainCamera 对象和 CharacterController 组件之间的绑定(bind)有问题,但我花了很多时间进行调查,但没有发现任何有效的结果。
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
的父级,然后移动父级 GameObject
关于c# - Unity3D 角色 Controller 运动问题。相机位置未改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48764404/