当我使用transform.LookAt();
时,我的游戏给了我一个错误以下是屏幕截图:http://imgur.com/pMnPVpk
我有一辆在地面上的汽车,但是它让它站在了最后。
代码:
void Update ()
{
if(Vector3.Distance(Player.transform.position,transform.position)< MaxDistnace)
{
transform.LookAt(PlayerTransform);
}
}
答案 0 :(得分:1)
您的问题与您的汽车创建方式有关。 LookAt()只会使对象面向目标,无论它在哪个轴上。
修复它的快速方法 (不一定是最好的)是创建一个空的GameObject并使汽车成为空GameObject的子项。
然后将车辆向任意方向旋转90度。如果汽车以错误的方式向前旋转90度,则向后旋转90度。
从汽车中删除脚本并将其添加到空GameObject。
再次查看您的代码,或许在上面的内容之前要尝试一些事情:
transform.LookAt(PlayerTransform)
应该是Player.transform
,除非您创建了一个名为PlayerTransform
的变量。
将您的MaxDistnace
重命名为maxDistance
这是更好的编码习惯。
希望它有所帮助!
编辑或者,您的播放器可能位于您的汽车正上方,这就是汽车朝上的原因!将你的玩家放在与你的汽车相同的水平,看看是否也有所不同!