我通过Three.js中的高度图创建了一个地形,并使用mrdoob的misc_controls_pointerlock进行碰撞和移动。但是,当我执行 objects.push(terrainobj); 时,性能下降到大约3fps(从大约60)并且没有与地形发生碰撞。碰撞是通过射线实现的。我怎么能绕过这个?
答案 0 :(得分:0)
如果它只是一个高度图,你可以避免使用光线并在位图中进行碰撞检查(使用canvas和imagedata)。
您只需将XZ世界位置转换为高度图中的XY像素即可。然后,如果您在世界中的Y位置低于像素的颜色值,则向上移动该对象。