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

Fla*_*vio 8 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' );
Run Code Online (Sandbox Code Playgroud)

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

Wes*_*ley 22

STLLoader现在返回一个BufferGeometry对象.

你可以把它转换成THREE.Geometry这样:

var geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry );
Run Code Online (Sandbox Code Playgroud)

three.js r.69