检查直线和网格在Three.js中是否相交

原学程将引见检讨直线以及网格在Three.js中能否订交的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

检查直线和网格在Three.js中是否相交 教程 第1张

成绩描写

我在场景中搁了1些香烟。当用户面打1些特定面时,我在这些面之间绘了1条线(THREE.Line)。我须要检讨这条线能否与所有线条(THREE.Mesh)订交。

这没有起感化

myLine.intersectObjects( arrayOfCilinders , true)

不妨在这条线上绘1条射线吗?在这类情形下,我不妨应用

myRay.intersectObjects( arrayOfCilinders , true)

感谢!

推举谜底

去自Three.js文档:

射线(原面、偏向)

原面--向质三光芒的原面。

偏向-向质三光芒的偏向。

是以,假如您有以及这二个用户的面打,您不妨:

(伪代码)

origin = pointA
direction = (pointB-pointA).normalize()
myRay = THREE.Ray(origin, direction)

您不妨应用THREE.Raycaster()

履行雷同的操纵

佳了闭于检讨直线以及网格在Three.js中能否订交的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。