3

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

transform.LookAt(character) 

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

2.第二张图是人物跳跃的时候

正常运动的图像 角色跳跃时的图像

我希望相机在不旋转的情况下看角色

4

1 回答 1

2

有几种解决方案。由于您通过 直接操作观察方向transform.LookAt(),因此您可以简单地更改目标。

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

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

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

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

于 2013-04-16T11:06:45.593 回答