我刚刚使用Blender创建了一个随机网格,并希望通过Three.js将其导出以在HTML5中使用。我还没有看过任何体面的教程来演示如何做到这一点。谁能帮我这个忙吗?我只希望3D网格显示在网络中,不包含动画。谢谢!

最佳答案

经过多次搜索和反复试验后,我发现的最简单方法是Three.ColladaLoader。将.dae文件放在models目录中名为/root的文件夹中。我发现Blender JSON导出器不太可靠。从init()函数中调用PinaCollada函数,如下所示:

function init(){
    scene = new THREE.scene;
    ...
    var object1 = new PinaCollada('model1', 1);
    scene.add(object1);
    var object2 = new PinaCollada('model2', 2);
    scene.add(object2);
    ...
}

function PinaCollada(modelname, scale) {
    var loader = new THREE.ColladaLoader();
    var localObject;
    loader.options.convertUpAxis = true;
    loader.load( 'models/'+modelname+'.dae', function colladaReady( collada ) {
        localObject = collada.scene;
        localObject.scale.x = localObject.scale.y = localObject.scale.z = scale;
        localObject.updateMatrix();
    } );
    return localObject;
}

10-07 17:35