1

我已经通过 Three.js 中的高度图创建了一个地形,并且正在使用 mrdoob 的 misc_controls_pointerlock 进行碰撞和移动。但是,当我做objects.push(terrainobj); 性能下降到大约 3fps(从大约 60 帧)并且没有与地形发生碰撞。碰撞是通过光线实现的。我怎样才能解决这个问题?

4

1 回答 1

1

如果它只是一个高度图,您可以避免使用射线并在位图中进行碰撞检查(使用画布和图像数据)。

您只需要将您的 XZ 世界位置转换为高度图中的 XY 像素。然后,如果您在世界中的 Y 位置低于像素的颜色值,则您向上移动对象。

于 2013-03-28T18:33:16.260 回答