Unity Roll-A-Ball主摄像头

时间:2016-05-06 20:45:33

标签: c# unity3d 3d

我无法让相机的位置与播放器一起移动。

这是CameraController.cs

using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour
{

    public GameObject Player;
    private Vector3 offset;
    void Start()
    {
        transform.position = Player.transform.position;
    }

    void LateUpdate()
    {
        transform.position = Player.transform.position;
        Debug.LogError(transform.position);
    }
}

脚本是主摄像头的一个组件。相机不是玩家对象的孩子,反之亦然。

调试表明位置正在更新到玩家的位置,但是当游戏运行时,摄像机是静态的,并且不会从其初始起点移动。

2 个答案:

答案 0 :(得分:1)

试试这个:

using UnityEngine;
using System.Collections;

public class CameraController: MonoBehaviour {

public GameObject Player;
private Vector3 offset;

void Start () {
    offset = transform.position - Player.transform.position;
    }

void LateUpdate () {
    transform.position = Player.transform.position + offset;
    }
}

偏移是相机和播放器之间的距离。

另一种方法是让相机成为玩家的孩子。

答案 1 :(得分:0)

非常感谢您发帖并尝试提供帮助。问题是我在虚拟现实支持的环境中尝试让脚本移动相机。我发现摄像机的行为方式以及随后的摄像机移动方式在VR环境中是不同的,并且摄像机需要是要移动的对象的子节点而不能通过脚本移动。