玩家使用相机的最佳方式是什么?

时间:2015-03-18 16:03:55

标签: c# unity3d unityscript

两天前我开始学习Unity3d,所以我是Unity的初学者。我尝试用相机跟随玩家,但它有效,但玩家在移动时会发抖。这是我的相机和播放器移动脚本。

public class CameraFollow : MonoBehavior 
{
     public Transform player;

     void update()
     {
          transform.position = new Vector3(player.position.x, player.position.y + 15, player.position.z - 3);
     }
}

public class PlayerMove : MonoBehavior 
{
     public float speed = 5f;

     void update()
     {
          transform.Translate(0f, 0f, Time.deltaTime * speed);
     }
}

2 个答案:

答案 0 :(得分:3)

不要使用两个移动脚本,而是删除cameraFollow脚本,然后将Camera放在Player的对象中。当玩家移动/旋转时,相机将相应地移动和旋转,但相对于玩家将保持在完全相同的位置,因此玩家不会在相机中移动。

因此,将相机放在播放器的物体内,然后更改它的坐标,使相机位于正确的位置。

答案 1 :(得分:0)

我将pivotObject作为根对象。每一帧都将其移动到玩家位置。

然后我用一个坐标(0,10,0)附加一个cameraObject。

所以现在,当我想旋转相机时,我旋转pivotObject。 当我想设置从玩家到相机的距离时,我会发现cameraObject.Normalise()。Scale(x)

为了防止相机掉落墙,我使用Physics.SphereCast(...)