跟随带相机的玩家的最佳方式是什么?
What is the best way follow to player with camera?
前两天开始学习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);
}
}
删除 cameraFollow 脚本,然后将 Camera 放入 Player 对象中,而不是使用两个移动脚本。当玩家moves/rotates时,相机会相应移动和旋转,但相对于玩家会保持在完全相同的位置,因此玩家不会在相机中移动。
因此,将相机放在玩家的物体内,然后更改其坐标,使相机位于正确的位置。
我将 pivotObject 作为根对象。每一帧都将它移动到玩家位置。
然后我将一个坐标为 (0, 10, 0) 的 cameraObject 附加到它。
所以现在,当我想旋转相机时,我会旋转 pivotObject。
当我想设置从玩家到相机的距离时,我 col cameraObject.Normalise().Scale(x)
为了防止相机投掷墙掉落,我使用 Physics.SphereCast(...)
前两天开始学习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);
}
}
删除 cameraFollow 脚本,然后将 Camera 放入 Player 对象中,而不是使用两个移动脚本。当玩家moves/rotates时,相机会相应移动和旋转,但相对于玩家会保持在完全相同的位置,因此玩家不会在相机中移动。
因此,将相机放在玩家的物体内,然后更改其坐标,使相机位于正确的位置。
我将 pivotObject 作为根对象。每一帧都将它移动到玩家位置。
然后我将一个坐标为 (0, 10, 0) 的 cameraObject 附加到它。
所以现在,当我想旋转相机时,我会旋转 pivotObject。 当我想设置从玩家到相机的距离时,我 col cameraObject.Normalise().Scale(x)
为了防止相机投掷墙掉落,我使用 Physics.SphereCast(...)