web-dev-qa-db-ja.com

three.jsのOBJ + MTLファイルからテクスチャをロードする方法は?

MayaファイルをOBJとMTLにエクスポートしています。 OBJテクスチャは正常に表示されますが、実際にテクスチャを取得するにはどうすればよいですか?私はblenderで「three.js」フォーマットを見ました。これは形状のみで、テクスチャはありません。

この three.jsの例 は、シェイプのobjに正常に読み込まれるように見えますが、テクスチャはmtlではなくjpg画像からのものであるように見えます。

loader.load('textures/ash_uvgrid01.jpg', function(image) {
    texture.image = image;
    texture.needsUpdate = true;
});

私の質問は、モデルのこの「uvgrid01.jpg」画像を取得するにはどうすればよいですか? MTLをテクスチャ専用のこの.jpg形式に変換する方法はありますか?または、テクスチャをエクスポートしてロードできるようにする他の方法はありますか?

11
Setsuna

この例 (少なくともthree.js r77)に示すように、OBJLoaderとMTLLoaderを使用できます。

var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath('obj/male02/');
mtlLoader.load('male02_dds.mtl', function(materials) {
  materials.preload();
  var objLoader = new THREE.OBJLoader();
  objLoader.setMaterials(materials);
  objLoader.setPath('obj/male02/');
  objLoader.load('male02.obj', function(object) {
    object.position.y = -95;
    scene.add(object);
  }, onProgress, onError);
});
14
GuyGood