2016-02-12 141 views
-2

我對碰撞檢測有一些疑問。我在java中使用LWJGL作爲我的遊戲。我沒有這方面的經驗,並且一直在關注遊戲核心的薄矩陣OpenGL教程。我在html,css,C++和java當然有經驗。 我一直在網上搜索,沒有發現任何有用的東西。java中的碰撞檢測

在我的遊戲中實現3D碰撞檢測的最簡單方法是什麼?

+0

我想通過編輯問題重新打開他的問題。希望沒關係。 – rjdkolb

+0

好的感謝編輯 – TheThirtyFirst

回答

0

我會建議使用識別碰撞的3d引擎,比如jMonkey。 jMonkey可以使用LWJGL。這裏有一個很棒的教程:http://wiki.jmonkeyengine.org/doku.php/jme3:beginner:hello_collision

如果你想像我一樣滾動你自己,我創建一個散列在空間中的3d點。如果另一個對象具有相同的散列,則它具有接近的衝突

import static java.lang.System.out; 

public class App { 
    public static int hash(float x, float y, float z) { 
     double hash = (((x * 31) + (y * 37) + (z * 41)));//31,37 and 41 are prime numbers 
     return (int) (hash);//multiplying the hash by 1000 for example may increase the accuracy significantly. Depends on the size of your space 
    } 

    public static void main(String[] args) { 
     for (float count = 0; count < 2; count += 0.01) { 
      out.println(hash(0, 0, count)); 
     } 
    } 

} 

正如你可以看到輸出中的散列顯示關閉衝突,計數增加0.01。

0 
0 
0 
1 
1 
2 
2 
2 
3 
3 
4 
4 
4 
5 
5 
6 
6 
6 

您可以修改素數以獲得更高的準確性。

+0

謝謝這是偉大的 – TheThirtyFirst