Three.js負荷OBJとMTLファイルを使用する方法

OBJとMTLは、幾何学的モデルファイルとファイル素材3Dモデルです。

以前OBJMTLLoaderクラスの最新バージョン(R78)でThree.jsは時代遅れです。

今負荷とOBJ MTLファイルに、また、運用の柔軟性を提供し、実装するOBJLoaderとMTLLoader二つのクラスの組み合わせを必要とします。

以下のコードは、最初に材料を装填するときOBJモデルの使用のためOBJLoaderオブジェクトに提供され、egg.mtl材料使用MTLLoaderファイルがロードされます。

onProgressは、プロセスのコールバックをロードしている、のonErrorエラーが機能を扱います。

// モデル
VAR onProgress = 関数(XHR){
     場合(xhr.lengthComputable){
         VARはpercentComplete = xhr.loaded / xhr.total * 100 
        console.log(恐らくMath.round(はpercentComplete、2)+ ' %ダウンロードしました' ); 
    } 
}。
 
VARのonError = 関数(XHR){}。
 
THREE.Loader.Handlers.add( /\.dds$/i、新しいTHREE.DDSLoader()); 
 
VAR mtlLoaderは= 新しいTHREE.MTLLoaderを(); 
mtlLoader.setPath(' /アップロード/ 160601 / OBJ / ' );
mtlLoader.load(' egg.mtl ' 、関数(材料){ 
 
    materials.preload(); 
 
    VAR objLoader = 新しいTHREE.OBJLoader(); 
    objLoader.setMaterials(材料); 
    objLoader.setPath(' /アップロード/ 160601 / OBJ / ' ); 
    objLoader.load(' egg.obj '、関数(オブジェクト){ 
 
        オブジェクト .position.y = - 0.5 ; 
        scene.add(オブジェクト); 
 
    }、onProgress、のonError); 
 
});

 

完全なコード:https://wow.techbrood.com/fiddle/27158

おすすめ

転載: www.cnblogs.com/smedas/p/12454695.html