我正在使用带有three.js REPEATABLE READ
的{{1}}加载.obj
个文件。
我想将此对象的子项合并为单个网格。
由于网格的加载几何是THREE.OBJLoader
个对象,首先我将它们转换为r86
个对象然后执行合并。
根据我的理解,目前尚无法直接在BufferGeometry
对象上直接执行合并。
Geometry
这似乎有效,但是在调用BufferGeometry
的{{1}}函数的行上引发了这个警告。
var material = new THREE.MeshBasicMaterial({color: 0xffffff});
var loader = new THREE.OBJLoader( manager );
loader.load( 'Temple-model.obj', function ( object ) {
var geometry = new THREE.Geometry();
for (var i = 0; i < object.children.length; i++) {
var c = object.children[i];
if (c instanceof THREE.Mesh) {
var g = new THREE.Geometry().fromBufferGeometry( c.geometry );
geometry.merge(g);
}
}
var merged = new THREE.Mesh(geometry, material);
scene.add(merged);
});
为什么会发生这种情况?有哪些更好的替代方案可以实现这一目标?