如何在Three.js中检测两个物体是否了发生碰撞

JavaScript010

如何在Three.js中检测两个物体是否了发生碰撞,第1张

使用Raycaster进行碰撞检测 用Raycaster来检测碰撞的原理很简单,我们需要以物体的中心为起点,向各个顶点(vertices)发出射线,然后检查射线是否与其它的物体相交。如果出现了相交的情况,检查最近的一个交点与射线起点间的距离,

你可以在拖动时获取子div的offsetLeft和offsetTop,然后联合子div、父div的高度和宽度计算两个div位置的关系。

offsetTop :当前对象到其上级层顶部的距离.

offsetLeft :当前对象到其上级层左边的距离.

比如:

父div的四个点的位置是(0,0),(0,width1),(height1,0),(height1,width1)

而子div的四个点的位置是(offsetTop,offsetLeft),(offsetTop ,offsetLeft+width2),(offsetTop+height2,offsetLeft),(offsetTop+height2,offsetLeft+width2)

然后对比这些点的位置即可