2016-02-12 196 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