I Like Asked: 2023-12-26 02:04:51 +0800 CST2023-12-26 02:04:51 +0800 CST 2023-12-26 02:04:51 +0800 CST 如何使用碰撞器优化数十万个游戏对象 772 我将在 Unity3D 中制作一款手机游戏,玩家可以挖掘用网格程序生成的隧道。隧道由许多隧道段游戏对象组成,每个游戏对象都有一个网格碰撞器。当一条隧道与自身或另一条隧道相交时,它应该与该隧道相连接,本质上是在相交的隧道中打一个洞。由于可能有数十万个隧道段,我正在尝试考虑优化碰撞检测的最佳方法。 经过一番研究,我决定优化所有网格碰撞器的最佳方法是通过检查隧道段位置网格来禁用不在玩家附近的碰撞器。但我想验证一下现实,看看我的想法是否可行?我附上了我的隧道生成工作的早期图片(目前多边形非常低)。 unity-game-engine 1 个回答 Voted Best Answer Absinthe 2023-12-26T04:20:45+08:002023-12-26T04:20:45+08:00 我建议根本不使用碰撞器(尤其是网格碰撞器,因为它们与基元相比更加昂贵),而是使用更便宜的数据结构,例如使用SquareMagnitude来测量距离并因此重叠的相交边界或顶点位置。性能更高。还可以考虑使用ECS和/或ScriptableObjects来保存数据。
我建议根本不使用碰撞器(尤其是网格碰撞器,因为它们与基元相比更加昂贵),而是使用更便宜的数据结构,例如使用SquareMagnitude来测量距离并因此重叠的相交边界或顶点位置。性能更高。还可以考虑使用ECS和/或ScriptableObjects来保存数据。