使用带有transform.LookAt的主摄像头在目标但不旋转摄像头

时间:2013-04-16 10:02:13

标签: camera unity3d game-physics

我正在Unity3d中编写一个应用程序,这是一个亚军游戏。现在当我跳起角色(向y方向移动)然后相机旋转因为我正在使用

transform.LookAt(character) 

1.角色正常运行时的第一张图片

2.第二张图片是角色跳跃时

image with normal motion image when the character jumps

我想让相机看不到旋转的角色

1 个答案:

答案 0 :(得分:1)

有几个解决方案。由于您通过transform.LookAt()直接操作外观方向,因此您只需更改目标。

LookAt方法有一个重载,可让您指定目标的位置(Vector3而不是Transform)。

您可以忽略目标的y坐标并选择固定的y值:

Vector3 lookAtPosition = character.transform.position;
lookAtPosition.y = fixedYPosition;
transform.LookAt(lookAtPosition);

请注意,上述解决方案仅在角色始终位于同一平面上时才有效(例如,不再有楼层,楼梯等)。