我在为我的一个型号加载颜色时遇到了一些麻烦。我正在使用OBJloader和MTLloader。 .obj和.mtl文件是从blender导出生成的(没有使用.png / .tga文件的纹理)。 MTL文件完美地加载到其他模型上,但由于某种原因,此模型仅显示为黑色。
以下是我使用的MTLLoader:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/MTLLoader.js
以下是无效的.mtl文件:
newmtl Material_1
Ns -1.960784
Ka 0.000000 0.000000 0.000000
Kd 0.000000 0.000000 0.000000
Ks 0.194444 0.194444 0.194444
Ke 0.000000 0.000000 0.000000
Ni 0.000000
d 1.000000
illum 2
newmtl Material_2
Ns -1.960784
Ka 0.000000 0.000000 0.000000
Kd 0.000000 0.000000 0.000000
Ks 0.986111 0.986111 0.986111
Ke 0.000000 0.000000 0.000000
Ni 0.000000
d 1.000000
illum 2
newmtl Material_3
Ns -1.960784
Ka 0.000000 0.000000 0.000000
Kd 0.000000 0.000000 0.000000
Ks 0.187500 0.187500 0.187500
Ke 0.000000 0.000000 0.000000
Ni 0.000000
d 1.000000
illum 2
newmtl Material_4
Ns -1.960784
Ka 0.000000 0.000000 0.000000
Kd 0.000000 0.000000 0.000000
Ks 0.263889 0.263889 0.263889
Ke 0.000000 0.000000 0.000000
Ni 0.000000
d 1.000000
illum 2
以下是完美运行的.mtl文件示例:
newmtl car_body
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.693878 0.084748 0.084748
Ks 0.108100 0.108100 0.108100
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl car_body_1
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 1.000000 1.000000 1.000000
Ks 0.100000 0.100000 0.100000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl engine_grille
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.005952 0.051020
Ks 0.117000 0.117000 0.117000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl glass
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.282521 0.704611 0.948980
Ks 0.100000 0.100000 0.100000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl headlight
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.847328 0.944020 1.000000
Ks 0.100000 0.100000 0.100000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl rear_lights
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.847328 0.944020 1.000000
Ks 0.100000 0.100000 0.100000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
newmtl wheels
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.142857 0.142857 0.142857
Ks 0.100000 0.100000 0.100000
Ke 0.000000 0.000000 0.000000
Ni -1.000000
d 1.000000
illum 2
这是JavaScript:
var bird = new THREE.Object3D();
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load( 'bird.mtl', function( materials )
{
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.load( 'bird.obj', function ( object )
{
bird.add( object );
});
});
scene.add( bird );
任何人都知道为什么上面的.mtl文件没有正确加载,只显示为黑色?
乔金姆