Issue with Terrain Collision using Three.js

一笑奈何 提交于 2019-12-08 03:49:07

问题


I have created a terrain via a heightmap in Three.js and am using mrdoob's misc_controls_pointerlock for collision and movement. However, when I do objects.push(terrainobj); the performance goes down to about 3fps (from around 60) and there is no collision with the terrain. The collision is achieved via rays. How can I get around this?


回答1:


If it's just a heightmap you could avoid using ray and do the collision checking right in the bitmap (using canvas and imagedata).

You just need to convert your XZ world position to the XY pixel in the heightmap. Then, if your Y position in the world is lower than the color vaue of the pixel then you move up the object.



来源:https://stackoverflow.com/questions/15687678/issue-with-terrain-collision-using-three-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!