加載gltf文件的代碼如下:function loadGLTF(path, fileName) { var loader = new THREE.GLTFLoader();
loader.load(`${path}${fileName}.gltf`, function (gltf) {
let object = gltf.scene;
object.scale.set(scale, scale, scale);
scene.add(object);
});
}這里加載出來的object是一個(gè)scene。點(diǎn)擊代碼如下: window.addEventListener("mousedown", mousedown); var raycaster = new THREE.Raycaster(); var mouse = new THREE.Vector2(); function mousedown() {
mouse.x = e.clientX / renderer.domElement.clientWidth * 2 - 1;
mouse.y = -(e.clientY / renderer.domElement.clientHeight * 2) + 1;
raycaster.setFromCamera(mouse, camera); var intersects = raycaster.intersectObjects(scene.children); if (intersects.length > 0) { console.log(intersects[0].object);
}
}點(diǎn)擊時(shí),點(diǎn)擊不到加載的gltf物體,返回的總是空,或者是其它非加載的物體。
three.js 怎么點(diǎn)擊加載完成的gltf模型?
陪伴而非守候
2018-11-13 22:08:29