select - माउस द्वारा कोलाडा ऑब्जेक्ट का चयन करें तीन। जेएस में क्लिक करें



mouseevent webgl (1)

यह मानते हुए कि dae_scene से लौटा एक COLLADA दृश्य है, यहाँ है कि आप चौराहे के लिए जांच करने के लिए क्या कर सकते हैं:

var toIntersect = [];
THREE.SceneUtils.traverseHierarchy(dae_scene, function (child) {
    if (child instanceof THREE.Mesh) {
        toIntersect.push(child);
    }
});

यह कोलाडा दृश्य के अंदर सभी मेष ऑब्जेक्ट मिलते हैं। फिर आप उस सरणी का उपयोग रे छेदों को देखने के लिए कर सकते हैं, जैसे:

var ray = new THREE.Ray( camera.position,
                         vector.subSelf( camera.position ).normalize() );
var intersects = ray.intersectObjects( toIntersect );

मुझे माउस क्लिक करके तीन। जेएस में कोलाडा ऑब्जेक्ट का चयन करना होगा। मुझे पता है कि मैं उनके आईडी के आधार पर ऑब्जेक्ट का चयन कर सकता हूं और मैंने कुछ नमूनों को देखा है, जो उपयोगकर्ता जियोमेट्री परिभाषित वस्तुओं ( यहां ) के साथ बातचीत कर सकता है। लेकिन मुझे कोलाडा प्रारूप में वस्तुओं तक पहुंच की आवश्यकता है।





collada