Three.js 如何使用Raycaster选择根Object3D
我有一个具有子网格的父对象Three.js 如何使用Raycaster选择根Object3D,three.js,Three.js,我有一个具有子网格的父对象Object3D。如何使用Raycaster仅选择根父对象 如果父对象具有多个子网格,并且希望通过光线投射选择父对象,则可以执行以下操作: 将父对象添加到对象数组中: var objects = []; ... objects.push( root_parent_object ); 向每个子对象添加指向根父对象的指针: child.userData.parent = root_parent_object; 将递归标志传递给intersectObjects() 现在,
Object3D
。如何使用Raycaster
仅选择根父对象
如果父对象具有多个子网格,并且希望通过光线投射选择父对象,则可以执行以下操作: 将父对象添加到对象数组中:
var objects = [];
...
objects.push( root_parent_object );
向每个子对象添加指向根父对象的指针:
child.userData.parent = root_parent_object;
将递归标志传递给intersectObjects()
现在,当光线投射器与子对象相交时,可以获得根对象
three.js r.68我对使用从Sketchup导出的collada对象也有类似的需求。网格前面有多个父对象的踪迹,所以我所做的就是:
if (intersects.length >0){
par = intersects[ 0 ].object.parent;
while(par.type !== "Group"){
par = par.parent;
}
groupName = par.name;
}
它在碎片上移动)。结果是通过BoundingBoxHelper实现的。您需要选择根:
SELECTED=intersects[0]。object.userData.parent代码>
if (intersects.length >0){
par = intersects[ 0 ].object.parent;
while(par.type !== "Group"){
par = par.parent;
}
groupName = par.name;
}