gpt4 book ai didi

java - 破损的box2d主体,找到特定的固定装置,单独的固定装置

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:58 25 4
gpt4 key购买 nike

我已经尝试了几件事,包括:传感器、光线转换、夹具距离、AABB、重叠夹具顶点、相交线。不幸的是,我无法在这里展示一个几乎可以工作的代码示例。我还查找了所有可能的来源十次。

来自多个资源的切片/分割方法并不完全符合我需要实现的目标,它是通过实际夹具的入口和导出点来完成的。在我的例子中,需要“剪切”的地方有空白区域。

图片:

destruction example 1

destruction example 2

您在这里看到的是一个被三角剖分的单体,里面有几个固定装置。这些图片代表了玩家切入后可能出现的状态。我正在使用 dermetfan 的 Breakable 类来摆脱碰撞时的固定装置。

我想检测 body 的各个部分(固定装置)何时松动/与每个部件分离,而不是在 body 内部连接,如图所示。由于在移除固定装置后, body 物理结构仍然完好无损,因此它可以旋转和移动,因为它没有以任何方式损坏。

如果我有这些固定装置,我会克隆它们,破坏原来的并创建一个新的主体,以便让“损坏的”部分表现得独立。

更新:请记住,由于破坏/路径没有限制,因此可能有 X 个“面/ block ”。问题是识别那些视觉上分离的部件/固定装置集合。这不是最初的一次性脉冲,每个夹具三角形一次单独被破坏。

最佳答案

您似乎想要构建一个切片机制,为此,我不确定 breakeable 方法是否正确。您可能想看看这个 article看看您是否想采取不同的方法。如果您正在使用固定装置网格,那么这是一种可能会有所帮助的通用方法。

为了解决这个问题,我希望找到一个可以帮助我做到这一点的数据结构。为此,节点和边的图似乎是理想的。作为固定装置和边缘的节点存在于仍连接的相邻固定装置之间。

我会在创建我的 body 时构建这个图表,并使用我的装置中的用户数据来存储它。在“切片”时间构建它,并且使灯具的视觉重叠会更昂贵,而且可能更不稳定。

当你制作切片时,你可以破坏边缘,最后使用连通图查找算法来识别你的碎片。谷歌搜索有很多结果,但是 here是一个你可以开始的答案。

一旦你有了你的作品,你就可以为每件作品创建新的车身和固定装置。如果您有新作品中每个夹具的顶点,则可以使用 this方法来获取新的外边缘并以与构建父部件相同的方式构建该部件。

关于java - 破损的box2d主体,找到特定的固定装置,单独的固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46391124/

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