问题描述
|
在根据屏幕坐标计算世界空间视图矢量后(使用Click放大WebGL),给定一个顶点数组,如何找到世界空间中最接近的相交点?
解决方法
您针对射线测试每个三角形。如果光线撞击三角形,并且距离最近的已知撞击点更近,您将记住该点。循环播放,直到没有更多三角形为止。
http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/
如果您使用的三角形很多,那可能会很慢,因此您可以构建b树,八叉树,KD树或多分辨率网格碰撞结构,并首先执行宽相位碰撞,然后再测试包含在其中的三角形中的三角形结构。