gpt4 book ai didi

Java - 使用高度图创建世界碰撞(JBullet)

转载 作者:行者123 更新时间:2023-11-30 08:01:17 26 4
gpt4 key购买 nike

我正在尝试使用 Jogl、Jbullet 和 OpenSimplexNoise (OSN) 创建一个无限的可玩世界。我正在使用 OSN 生成世界,并成功渲染它,但我不知道如何将其添加到世界/碰撞系统中。

我找到了 btHeightfieldTerrainShape 类,但它没有在 Java 中实现。我也尝试使用 BvhTriangleMeshShape,但我不明白它是如何工作的。

我有 3 个世代值(value)观:

  • int smooth:一米内的分割数
  • int viewDistance:沿一个轴绘制的 block 数
  • int chunkSize: 上的数量一米一米

我使用此代码生成高度图:

/**
* Generate all height in the chunk p[cx][cy].
*/
private float[][] genPerlinMap(int[] p) {
float[][] pts = new float[chunkSize*smooth+1][chunkSize*smooth+1];
for(int i1=0;i1<chunkSize*smooth+1;i1++){
for(int i2=0;i2<chunkSize*smooth+1;i2++){
pts[i1][i2] = (float) (osp.eval(
(p[0]*chunkSize+i1/(float)(smooth))/(float) (mapSize),
(p[1]*chunkSize+i2/(float)(smooth))/(float) (mapSize)
)+1)*0.5f*mapSize;
}
}
return pts;
}

有人知道如何添加这个吗?

最佳答案

我找到了解决方案:使用https://github.com/bubblecloud/jbullet (来自 github 的 jbullet),代码如下:https://github.com/bubblecloud/jbullet/commit/a5da8cdc679e998ef3a8605ee9b3cd5f94d71fee .

感谢 gouessej 提供的 jbullet github 链接:)

关于Java - 使用高度图创建世界碰撞(JBullet),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879084/

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