2014-10-05 11 views

回答

4

如果你有一個父Object3D具有多個子網格,並要選擇由光線投射的家長,您可以執行以下操作:

父對象添加到對象的數組:

var objects = []; 
... 
objects.push(root_parent_object); 

添加到每個子對象的指針根父對象:

child.userData.parent = root_parent_object; 

將遞歸標誌傳遞給intersectObjects()

var intersects = raycaster.intersectObjects(objects, true); 

現在,當raycaster與子對象相交時,您可以獲取根對象。

three.js所r.68

+0

它在棋子上移動))。 http://neftek.legko.ufanet.ru/MyWebGL/three.js/examples/webgl_interactive_draggablecubes.html。它通過BoundingBoxHelper結果出來 – 2014-10-06 13:11:25

+0

你需要選擇根:'SELECTED = intersects [0] .object.userData.parent;' – WestLangley 2014-10-06 14:50:25

+0

ok =)它的工作原理。它的工作,事實是轉變 – 2014-10-09 19:29:49

0

我不得不使用從Sketchup的出口COLLADA對象同樣需要。網格有一個多父母在他們之前的蹤跡,所以我所做的是這樣的:

if (intersects.length >0){ 
    par = intersects[ 0 ].object.parent; 
    while(par.type !== "Group"){ 
     par = par.parent; 
    } 
    groupName = par.name; 
} 
相關問題