愿所有的美好和期待都能如约而至

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

发布时间:  来源:互联网  作者:匿名  标签:error Check if a line and a mesh intersect in three.js exception intersection IT  热度:37.5℃

本文介绍了检查直线和网格在Three.js中是否相交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在场景中放了一些卷烟。当用户点击一些特定点时,我在这些点之间画了一条线(THREE.Line)。我需要检查这条线是否与任何线条(THREE.Mesh)相交。

这不起作用

myLine.intersectObjects( arrayOfCilinders , true)

可以在这条线上画一条射线吗?在这种情况下,我可以使用

myRay.intersectObjects( arrayOfCilinders , true)

谢谢!

推荐答案

来自Three.js文档:

射线(原点、方向)

原点–向量3光线的原点。

方向-向量3光线的方向。

因此,如果您有point TApoint B这两个用户的点击,您可以:

(伪代码)

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

您可以使用THREE.Raycaster()

执行相同的操作

这篇关于检查直线和网格在Three.js中是否相交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP