我们在处理场景图形时不小心将轮胎标记为可交互而不是静态。感觉很好玩。 在PC上我们会毫无疑问地发布它,但这是一款移动游戏。看起来很酷,必须离开。痛苦。 对我们的设置进行快速概述,感兴趣的人可以看看。 你不能简单地将所有东西都设置为物理。物理场景会膨胀,低端手机会直接死机。所以我们构建了一个自定义工具。每个可破坏的道具都会批量并绘制为静态网格,直到汽车(或拖车)实际接触它。发生碰撞时,我们会隐藏静态网格并在其位置中生成破坏FX或一个相同的动态网格,同一模型,但这次是使用真实物理。由于玩家通常只与一两个对象进行交互,所以物理场景保持很小。只有你实际碰到的东西才变成“真实”。一旦一个动态对象移出屏幕,一个计时器(1-3秒左右)就会去除它,结束了。有两个问题。首先,仅在汽车接触时才会触发交换。但是,三层轮胎堆栈基本上就是一个球池:击中底层的轮胎,整个堆栈都必须同时唤醒。相反,相反,你会在场景中添加20个物理对象,而不是1-2个,并在物理场景中生成物体是昂贵的。弱设备根本无法承受这种尖峰。正确的解决方案是根据设备等级进行分级(旗舰级物理,土豆级假物理)但我们还没有建立这样的系统。第二:在新地图上几乎所有东西都是可破坏的(树木、栅栏、汽车),这完全正常,因为帧成本几乎没有变化。 knocks 下树木,树木的碰撞器会掉落在汽车上,物理只在碰撞瞬间模拟一下,然后就结束了。轮胎是一个完全不同的动物。它必须在你的轮子下旋转,变形,玩其他轮胎和车架。这样就是一个真正的连续模拟,基本上就是一个小型物理沙盒在屏幕的角落里运行。所以,轮胎现在又回到了它本来的样子:静态障碍物,减慢你的速度,让你必须转弯。有一天,轮胎。一天。
我们为了优化,必须砍掉这些内容。还是很痛苦。
评论 (0)