2016-07-22 12 views
0

現在、smal 3dコンフィギュレータを構築中です。イベントをトリガするためにRaycasterを使用すると、.intersectObject()を使用するときに再帰を有効にする必要があるという問題が発生しました。しかし、あなたはそれをそのように呼ぶかもしれないなら、私は「親」の位置を変える必要があります。子孫の代わりにobjローダーでロードされたオブジェクトを参照することは可能ですか?そのように選択さThree.js OBJローダーRaycasterが親を取得

function onDocumentMouseDown(event){ 
event.preventDefault(); 

raycaster.setFromCamera(mouse, camera); 

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

if (intersects.length > 0) { 

    SELECTED = intersects[ 0 ].object; 

    if (raycaster.ray.intersectPlane(plane, intersection)) { 

     console.log("Plane Intersection"); 
     SELECTED.doSomething... 

    } 

} 

} 

がObjectArrの値ではありません。

は、ここに私のmouseDown機能です。私は別の機能からその位置を参照する必要があります。親オブジェクトを参照する可能性はありますか?

+0

あなたはSELECTED.parentを試しましたか? http://threejs.org/docs/#Reference/Core/Object3D –

+0

Derteの答えが役に立たない場合は、intersectObjectsで 'true'を使用しないでください。なぜなら、オブジェクトの子を含むからです – Rush2112

答えて

0

Derte Trdelnikに感謝します。

解決策は、SELECTED.parentを使用することでした。

関連する問題