2017-04-14 1 views
0

3JS (r.84)로 양면 렌더링하려면 어떻게해야할까요?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 로딩의 경우, 유사한 질문 [here]을보십시오 (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); 
     }); 
    });