2016-05-20 47 views
0

是否有一種「簡單」的方法來檢測兩個對象是否不能接近Cuboid?在3D中實現碰撞

我使用LWJGL庫,並希望實現簡單的碰撞識別。我不想使用JBullet,因爲這對我目前的技能和需求來說太困難了,不幸的是我的對象具有不規則的形狀,所以我不能使用AABB碰撞檢測。

我有存儲在數組中的頂點對象(從.obj解析) 難道你不知道一些方法來檢查它們是否相交嗎?

+0

不需要。另外,您可以在任何形狀上使用AABB碰撞檢測,不規則或不規則。 – Serge

+0

好的,但AABB盒子本身就是長方形的,我想保持或多或少的形狀。 – Ch0mik18

回答

0

您仍然可以使用AABB進行粗略碰撞。如果你真的想要更精確的碰撞,你可以繼續檢查那些預先過濾的實體,但是沒有真正的「簡單」方法來做到這一點。 如果您不想使用庫,則必須檢查一個立方體是否包含另一個立方體的頂點,以查看所有可能的形狀排列。儘管如此,它應該可以用幾何幾何來實現。

0

您可以使用AABB,球體和圓柱體的集合來近似每個對象的形狀。根據模型的複雜性,可能需要大量工作來手動定義各種碰撞體積。

樹可以使用一個圓柱樹幹和葉子的球體。一輛卡車可以使用三個立方體,一個用於前方,一個用於駕駛室,另一個用於臥鋪。兩者之間的碰撞將通過檢查卡車的前部,駕駛室和牀上的樹幹和樹葉來解決。