Transform.LookAt Bug

本文关键字:Bug LookAt Transform | 更新日期: 2023-09-27 18:21:50

当我使用transform时,我的游戏给了我一个错误。LookAt();

以下是屏幕截图:https://i.stack.imgur.com/n010G.jpg

我有一辆车停在地上,但虫子让它站在了尽头。

代码:

void Update () 
{
    if(Vector3.Distance(Player.transform.position,transform.position)< MaxDistnace)
    {
        transform.LookAt(PlayerTransform);
    }
}

Transform.LookAt Bug

您的问题在于创建汽车的方式。LookAt()只会使对象面向目标,而不管它在哪个轴上

修复它的一个快速方法 (不一定是最好的)是创建一个空的游戏对象,并使汽车成为空游戏对象的子对象。

然后将轿厢向错误的方向旋转90度。如果汽车以错误的方式向前旋转90度,则向后旋转90度。

从汽车中删除脚本,并将其添加到空的GameObject中。

再次查看您的代码,也许在上面之前需要尝试一些事情:

transform.LookAt(PlayerTransform)可能应该是Player.transform,除非您创建了一个名为PlayerTransform的变量来保存它。

将您的MaxDistnace重命名为maxDistance这是更好的编码实践。

希望它能有所帮助!

编辑或者,您的玩家可以直接在您的汽车上方,这就是汽车面朝上的原因!让你的球员和你的赛车处于同一水平,看看这是否也有不同!