从OBJ文件和MLT文件渲染3D模型由Blender使用three.js导出

时间:2016-11-22 07:52:35

标签: javascript google-chrome 3d three.js blender

背景

我想在使用 this example 从Blender导出的.obj.mtl文件中渲染3D模型。我刚刚将原来的.obj.mtl文件更改为我自己的.obj.mtl文件,但它不起作用。代码如下所示。

THREE.Loader.Handlers.add( /\.dds$/i, new THREE.DDSLoader() );

var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath( '/' );
mtlLoader.load( 'demohead.mtl', function( materials ) {

    materials.preload();

    var objLoader = new THREE.OBJLoader();
    objLoader.setMaterials( materials );
    objLoader.setPath( '/' );
    objLoader.load( 'demohead.obj', function ( object ) {

        object.position.y = - 95;
        scene.add( object );

    }, onProgress, onError );

});

我得到了以下3D对象。仅渲染基本网格。脸已经消失了。

enter image description here

来自Google Chrome控制台的以下错误数量越来越多:enter image description here

Uncaught TypeError: Cannot set property 'needsUpdate' of undefined

此错误指向动画循环内的渲染函数调用。所以错误不断出现。

 renderer.render( scene, camera );

在渲染从Blender导出的3D模型的.obj文件和.mtl文件时,我需要了解什么?

更新

当我在Blender中渲染原始立方体或猴脸时。没有任何问题。

0 个答案:

没有答案