2017-04-14 24 views
0

3js(r.84)で両面をレンダリングするにはどうすればobjモデルを設定できますか?ThreeJSの両面、objモデル

THREE.Loader.Handlers.add(/\.dds$/i, new THREE.DDSLoader()); 
    var mtlLoader = new THREE.MTLLoader(); 
    mtlLoader.setPath('house3/'); 
    mtlLoader.load('House.mtl', function(materials) { 
     materials.preload(); 
     var objLoader = new THREE.OBJLoader(); 
     objLoader.setMaterials(materials); 
     objLoader.setPath('house3/'); 
     objLoader.load('House.obj', function (object) { 
      scene.add(object); 
     }); 
    }); 
+0

可能な複製[three.jsの両面オブジェクトを作成する方法](http://stackoverflow.com/questions/16027131/three-js-how-to-make-double-side d-object) – Sam0

+0

THREE.DoubleSideはあなたの友人です。 OBJの読み込みの場合、同様の質問[ここ](http://stackoverflow.com/questions/16027131/three-js-how-to-make-double-sided-object)を見てください – AquaVitae

+0

私はそれを試みた解決策は動作しませんでした。何か示唆? – robcaa

答えて

0

三jsのリビジョン84がないOBJMTLLoader:ここ

はOBJローダコードです https://github.com/mrdoob/three.js/issues/8105

しかしlinkedソリューションは、小さな変更で働いている:

THREE.Loader.Handlers.add(/\.dds$/i, new THREE.DDSLoader()); 
    var mtlLoader = new THREE.MTLLoader(); 
    mtlLoader.setPath('house3/'); 
    mtlLoader.load('House.mtl', function(materials) { 
     materials.preload(); 
     var objLoader = new THREE.OBJLoader(); 
     objLoader.setMaterials(materials); 
     objLoader.setPath('house3/'); 
     objLoader.load('House.obj', function (object) { 
      object.traverse(function(node) { 
       if(node.material) { 
        node.material.side = THREE.DoubleSide; 
       } 
      }); 
      scene.add(object); 
     }); 
    }); 
関連する問題