2
我需要通過鼠標單擊來選擇Three.JS中的Collada對象。我知道我可以根據他們的id選擇對象,並且我看到一些用戶可以與幾何定義對象(here)交互的樣本。但我需要訪問Collada格式的對象。通過鼠標選擇Collada對象點擊Three.JS
我需要通過鼠標單擊來選擇Three.JS中的Collada對象。我知道我可以根據他們的id選擇對象,並且我看到一些用戶可以與幾何定義對象(here)交互的樣本。但我需要訪問Collada格式的對象。通過鼠標選擇Collada對象點擊Three.JS
假設dae_scene
是COLLADA場景從ColladaLoader回來,這裏是你可以做什麼檢查路口:
var toIntersect = [];
THREE.SceneUtils.traverseHierarchy(dae_scene, function (child) {
if (child instanceof THREE.Mesh) {
toIntersect.push(child);
}
});
這得到了COLLADA場景內的所有網格對象。然後,您可以使用該陣列來查找射線相交,如下所示:
var ray = new THREE.Ray(camera.position,
vector.subSelf(camera.position).normalize());
var intersects = ray.intersectObjects(toIntersect);
感謝Jeff的快速回復。 – mbehnaam 2012-08-06 11:00:42