2

3ds max からエクスポートされた .obj ファイルと、マテリアルを含む .mtl ファイルがあります。このオブジェクトを three.js でレンダリングしたいのですが、テクスチャが読み込まれていないようです。ここに私のJavaScriptコードがあります

var texture = THREE.ImageUtils.loadTexture( 'items/m16/m16.jpg' );


var loader = new THREE.OBJLoader();
loader.load( "items/m16/m16.obj", function ( object ) {

for ( var i = 0, l = object.children.length; i < l; i ++ ) {

     object.children[ i ].material.map = texture;

}

//  object.position.y = -100;

scene.add( object );

} );

.mtl ファイルのコンテキストは次のとおりです。

newmtl Material__25
Ns 10.0000
Ni 1.5000
d 1.0000
Tr 0.0000
Tf 1.0000 1.0000 1.0000 
illum 2
Ka 0.5880 0.5880 0.5880
Kd 0.5880 0.5880 0.5880
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Ka m16.jpg
map_Kd m16.jpg

どこが間違っているのかわかりません。

4

1 に答える 1

9

.mtlファイルがあるので、代わりにOBJMTLLoaderを使用する必要があります。そうすれば、投稿したすべてのコードは次のようになります。

var loader = new THREE.OBJMTLLoader();
loader.load( "items/m16/m16.obj", function ( object ) { scene.add( object ); } );
于 2013-02-10T13:11:56.947 に答える