合并从.obj文件加载的BufferGeometries时未定义的vertexUv?

时间:2017-07-04 14:43:16

标签: three.js

我正在使用带有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);
});

为什么会发生这种情况?有哪些更好的替代方案可以实现这一目标?

0 个答案:

没有答案