Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Player-Car运行时扩展问题_Unity3d - Fatal编程技术网

Unity3d Player-Car运行时扩展问题

Unity3d Player-Car运行时扩展问题,unity3d,Unity3d,我有一辆车作为我的主要玩家,当你摧毁其他车时,你的车的尺寸在游戏中会增加,所以你在摧毁其他敌人的车时会变得更强 现在,当我放大runtime player car时,它开始给我带来这样的问题: 随着汽车规模的增加,汽车开始进入地面,上图清晰地显示了这一点。 现在如何解决这个问题?所以汽车不会进入地面。这是因为枢轴位于汽车的中心。我想每种车型都有一定的离地偏移量。还应缩放此偏移。假设你在生产汽车时有一些偏移量。然后,当你缩放你的汽车时,你也应该校正它的位置 transform.position

我有一辆车作为我的主要玩家,当你摧毁其他车时,你的车的尺寸在游戏中会增加,所以你在摧毁其他敌人的车时会变得更强

现在,当我放大runtime player car时,它开始给我带来这样的问题:

随着汽车规模的增加,汽车开始进入地面,上图清晰地显示了这一点。
现在如何解决这个问题?所以汽车不会进入地面。

这是因为枢轴位于汽车的中心。我想每种车型都有一定的离地偏移量。还应缩放此偏移。假设你在生产汽车时有一些偏移量。然后,当你缩放你的汽车时,你也应该校正它的位置

transform.position = transform.position + offset * (transform.localScale.y - prevYScale);

如果把汽车的枢轴转动到地面应该是一个好主意,那么你也应该考虑一下。那个么你们就不需要任何修正了。

你们从汽车播放器的中心开始缩放

最简单的解决方法是在层次窗口中创建另一个
游戏对象
,使其成为汽车玩家的父对象,然后移动汽车玩家
变换
,使父对象的
变换
的中心正好位于汽车下方

然后您应该缩放父级而不是汽车播放器,这将仅缩放道路顶部的汽车播放器