团结相机跟随滚球。没有旋转,也没有在相机的Z轴上移动

时间:2016-01-13 16:27:49

标签: unity3d camera rotation runner

所以,我正在建立一个3D跑步者,并且我在摄像机跟随球的过程中遇到了很多问题。我已经在谷歌上呆了几个小时,找不到任何不过时或填写我需要的东西的东西。我想要一个跟随我的球但在X轴上直行的相机。当有楼梯时,相机需要跟随Y轴。

我只是不想让我的相机旋转(因为我的物体是滚球)并且想要在Z轴上移动。

var myPos : Vector3;
var myPlay : Transform;

function Update()
{
transform.position = myPlay.position + myPos;
}

这就是我已经拥有的。它不会旋转,但它会跟随Z轴。我不想要那个。

http://prntscr.com/9pmypz这就是Inspector中的样子。

2 个答案:

答案 0 :(得分:0)

根据Unity3D's Roll-A-Ball tutorial

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)

由于声誉不佳,我无法评论@HDL_CinC_Dragon的答案,但我想补充一点,使用公共访问修饰符是一个非常糟糕的习惯。相反,您应该在字段上使用具有Seri​​alizeField属性的私有访问修饰符,如下所示:

public class CameraController : MonoBehaviour
    {
        [SerializeField]
        private GameObject player;

        private Vector3 offset;