导出的Blender模型中的材料为Three.js不起作用

Bas*_*ijk 5 blender webgl three.js

我正在尝试使用带有Three.js的Blender创建的模型.模型非常基本,两个立方体彼此叠加.一个立方体是红色,另一个是绿色.

我使用Three.js的Blender导出器插件导出模型当我手动将材质分配给对象时:

loader.load("model.js", function ( geometry, material ) {

    material = new THREE.MeshBasicMaterial( { color: 0xFF0000 } );

    mesh = new THREE.Mesh( geometry, material);

    scene.add(mesh);

    animate();

});
Run Code Online (Sandbox Code Playgroud)

没有问题,如https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index.html所示

但是,当我删除该行:

material = new THREE.MeshBasicMaterial( { color: 0xFF0000 } );
Run Code Online (Sandbox Code Playgroud)

使用模型的材料.这会产生Three.js的错误:

TypeError:程序未定义[打破此错误]

p_uniforms = program.uniforms,

你可以在https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/index2.html上看到这个.

有谁知道什么可能导致这个问题?您可以在https://googledrive.com/host/0B9t0vRo6sUnzWndDTGxicENIdDg/model.blend下载Blender文件

Wes*_*ley 9

简单.材料是一个阵列.您需要执行以下操作:

loader.load( "model.js", function ( geometry, materials ) {

    mesh = new THREE.Mesh( geometry, materials );

    scene.add( mesh );

    animate();

} );
Run Code Online (Sandbox Code Playgroud)

three.js r.88