10

我正在尝试将.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某种方式加载,以便我将其作为 a 接收,THREE.Geometry或者是否可以从 toTHREE.BufferGeometry转换THREE.Geometry?或者这可能使用.obj文件或其他东西吗?

4

1 回答 1

24

此答案仅适用于 r.125 之前的 three.js 版本。

STLLoader现在返回一个BufferGeometry对象。

您可以将其转换为THREE.Geometry这样的:

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

三.js r.124

于 2014-12-31T22:56:33.557 回答