在threejs中将对象加载为Geometry而不是BufferGeometry

时间:2014-12-31 14:28:01

标签: javascript 3d three.js stl-format

我试图将.stl文件加载到three.js中。一切正常,我使用此代码将模型作为BufferGeometry:

    var loader = new THREE.STLLoader();
    loader.addEventListener( 'load', function ( event )
    {

        var material = new THREE.MeshLambertMaterial({
            color: 0x888888,
            side: THREE.DoubleSide
        });

        var bufferGeometry = event.content;
        var mesh = new THREE.Mesh(geometry, material);
        scene.add( mesh );
    });
    loader.load( 'model.stl' );

为了更容易进一步操作模型,我希望将几何图形设为常规THREE.Geometry而不是THREE.BufferGeometry。是否可以以某种方式加载.stl,以便将其作为THREE.Geometry接收,还是可以从THREE.BufferGeometry转换为THREE.Geometry?或者这可能是使用.obj文件还是其他?

1 个答案:

答案 0 :(得分:21)

STLLoader现在返回BufferGeometry个对象。

您可以将其转换为THREE.Geometry,如此:

var geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry );

three.js r.69