【问题标题】:Transform.LookAt BugTransform.LookAt Bug
【发布时间】:2015-11-13 09:34:09
【问题描述】:

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

这是屏幕截图:http://imgur.com/pMnPVpk

我有一辆车在地上,但虫子让它倒了。

代码:

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

【问题讨论】:

  • 你能解释一下这个错误是什么吗?您链接的图片并没有真正解释太多。
  • 这个虫子让车子从地上萌到了这样的状态
  • 在您的问题中发布您的代码,然后我们可能会提供帮助:)
  • 已发布!只是其中的一部分

标签: c# unity3d transform


【解决方案1】:

您的问题与您的汽车的制造方式有关。 LookAt() 只会让对象面向目标,无论它在哪个轴上。

修复它的快速方法(不一定是最好的)是创建一个空 GameObject 并将汽车作为空 GameObject 的子对象。

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

从汽车中删除脚本并将其添加到空的游戏对象中。

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

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

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

希望对你有帮助!

编辑 或者,您的播放器可以直接在您的汽车上方,这就是汽车朝上的原因!让您的播放器与您的汽车处于同一水平,看看这是否也会产生影响!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多