在three.js中编写盒盒射线碰撞检测的最佳方法是什么?



本实验中的对象随机移动:http://deeplogic.info/project/webGL/

使用three.js库编写盒盒射线碰撞检测的最佳方法是什么?

如果你使用光线追踪:

对于两个盒子,检查它的12条边对另一个盒子的6个面。如果它们没有相交,就可以确定没有碰撞。

检查一个盒子的边缘与另一个盒子的面:定义一条直接沿着边的无限射线。定义一个位于另一个盒子表面的无限平面。用射线-平面交点求无限平面与无限射线的交点。检查交点:a)在你的盒子的边缘,b)在另一个盒子的表面。如果是这样,你有一个交集!

一旦你知道它发生了,如何处理这个交叉点,这是一个全新的话题。

最新更新