gpt4 book ai didi

c# - 在运行时更新网格对撞机的替代方案?

转载 作者:可可西里 更新时间:2023-11-01 08:13:42 25 4
gpt4 key购买 nike

我正在开发用户在运行时(一直)生成网格的游戏,因此网格有很多顶点,同时有一个 GameObject - 玩家需要在它位于生成的区域时触发事件运行时网格。

游戏中的相机是 3D 的,但生成的网格是平面的。在我的附图中,我在顶 View 中显示了它,以更好地展示它的外观。

现在我每隔几秒就更新一次 Mesh Collider,但是在生成的网格有越来越多的顶点后它非常慢。

我相信这是一种非常简单的碰撞方法,所以也许有任何其他方法可以检测到这种情况,而不是附加到动态生成的网格的网格碰撞器?

更新 #1

我知道 Mesh Collider 很慢,不应该在运行时更新。我也知道应该使用像 box collider 这样的原语的想法。

但是在这种情况下,当这个平面网格每秒更新一次(并且它会增长)时,将有数千个盒子碰撞器,并且每秒都需要添加新的。这种方法也行不通。

更新#2

我的第二个想法是找到离玩家最近的三角形并为它们创建碰撞器(盒子碰撞器应该是最快的)。但我真的不知道从哪里开始,甚至不知道从哪里开始?有人吗?

Drawing 2, as an answer for @Hristo

Drawing

最佳答案

如果网格碰撞器适用于小部分而不是全长,则生成多个网格碰撞器,当玩家绘制更长的路径时,每 X 个多边形或 X 条路径断开一个新的碰撞器。

关于c# - 在运行时更新网格对撞机的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com