Blender导出到Three.js

AJ *_*das 27 html5 canvas blender three.js

我刚刚使用Blender创建了一个随机网格,我想通过Three.js导出它在HTML5中使用.我没有看到任何体面的教程,说明如何做到这一点.任何人都可以帮我解决这个问题吗?我只是希望3D网格在网络上显示,不包括动画.谢谢!

Orb*_*den 30

我经过多次搜索和反复试验后找到的最简单的方法是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;
}
Run Code Online (Sandbox Code Playgroud)


小智 12

你需要threejs搅拌机出口商:读这个


小智 11

var loader = new THREE.JSONLoader(true);
loader.load({
    model: "model.js",
    callback: function(geometry) {
        mesh = new THREE.Mesh(geometry,new THREE.MeshFaceMaterial);
        mesh.position.set(0,0,0);
        mesh.scale.set(20,20,20);
        scene.add(mesh);
        renderer.render(scene, camera);
    }
});
Run Code Online (Sandbox Code Playgroud)

是THREE.JS的基本json加载器; 你还需要研究:

如何设置画布,场景,灯光和相机(如果你还没有使用搅拌机)

morphTargets(如果你是动画)

材料(如果你想调整)