2016-10-11 2 views
0

OBJ 파일을로드하고 텍스처를 제공하기 위해 MTL을 연결할 수있었습니다. 그러나 내가 코드에서 직접 모델과 연관시키려는 텍스처를 말할 수 없을 것 같습니다. MTL 파일에 언급 된 경우 텍스처가 모델에 표시되도록 할 수 있습니다.MTL보다는 코드에서 텍스처로드

문서를보고 예제를 살펴보고 반복적으로 봤지만 텍스처를 적용하는 방법을 모릅니다. 나는이

 var texloader = new THREE.TextureLoader(); 
     var skinTexture = texloader.load('/3Dproject/models/texture.jpg', function (tex) { 
      skinTexture = tex; 
     }); 
같은 자바 스크립트 내 질감을로드하는 경우

이 모델 및 자료 파일을로드 할 수 내 현재 코드입니다

 var mtlLoader = new THREE.MTLLoader(); 
     mtlLoader.setPath('/3Dproject/models/'); 
     mtlLoader.load('tshirt.mtl', function(materials) { 

      materials.preload(); 

      var objLoader = new THREE.OBJLoader(); 
      objLoader.setMaterials(materials); 
      objLoader.setPath('models/'); 
      objLoader.load('tshirt.obj', function (object) { 

       object.position.x = 0; 
       object.position.y = -50; 
       object.scale.x = 2; 
       object.scale.y = 2; 
       object.scale.z = 2; 
       scene.add(object); 

      }, onProgress, onError); 

     }); 

이 내 자료 파일

# MTL written from \3Dproject\models\tshirt.obj 
newmtl texture 
Kd 0.48 0.48 0.48 
Ns 256 
d 1 
illum 2 
Ka 0 0 0 
Ks 0.04 0.04 0.04 
map_Kd \texture.jpg 

입니다

어떻게하면 내 모델에 적용 할 수 있습니까? http://creativiii.com/3Dproject/old-index.html

+0

THREE.Scene에서 개체를 찾고 해당 자료를 다시 작성할 수 있습니다. – mlkn

답변

0

에서

작동 예는 일반적으로 텍스처는 material.map 속성을 통해 지정됩니다.

object.material.map = skinTexture;