我尝试加载由多个元素组成的 gltf(对象),当我尝试选择并拖动对象时,我只能拖动一个元素。请帮我解决这个问题。
var loader = new THREE.GLTFLoader();
loader.load(‘W3030 / W3030.gltf’, (gltf) => {
this.scene.add(gltf.scene);
gltf.scene.scale.set(1, 1, 1);
gltf.scene.traverse(function(object) {
if (object.isMesh) objects.push(object);
if (object.isMesh) objects.castShadow = true;
});
});
GLTF 演示的屏幕截图:
最佳答案
即使您加载单个 glTF
资源,视觉对象也可以由许多单独的 3D 对象组成。由于 THREE.DragControls
在对象级别工作,因此提到的结果是预期的行为。
解决此问题的最简单方法是在 Blender 等内容创建工具中合并对象的各个部分,然后导出新的 glTF
。否则,您必须通过 Three.js 将单个网格合并为更大的网格。或者您更改 THREE.DragControls
,以便它也能够根据其边界框选择组对象。
三.js R113
关于javascript - GLTF加载对象拖拽使用三个js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60151558/