2014-03-04 6 views
0

three.js에서 가져온 모델에서 범프 및 반사 매핑을 작동하는 데 문제가 있습니다.Three.js로드 된 모델 누락 된 범프 및 반사도 맵

3DS Max에서 .obj 파일로 모델을 내 보낸 다음 convert_obj_three.py 스크립트를 사용하여 .js로 변환합니다.

"materials": [ { 
    "DbgColor" : 15658734, 
    "DbgIndex" : 0, 
    "DbgName" : "flloor_bump_test", 
    "illumination" : 2, 
    "mapAmbient" : "sat_8.jpg", 
    "mapBump" : "sat_8_bump.jpg", 
    "mapDiffuse" : "sat_8.jpg", 
    "mapSpecular" : "sat_8_spec.png", 
    "opticalDensity" : 1.5, 
    "specularCoef" : 25.0, 
    "transparency" : 0.0 
}, 

여기 내 장면에 모델을로드하는 방법은 다음과 같습니다 :

var jsonLoader = new THREE.JSONLoader(); 
jsonLoader.load("model.js", addModelToScene); 

function addModelToScene(geometry, materials) 
{ 
    var material = new THREE.MeshFaceMaterial(materials); 
    model = new THREE.Mesh(geometry, material); 
    model.scale.set(0.01,0.01,0.01); 

    model.castShadow = true; 
    model.receiveShadow = true; 

    scene.add(model); 
} 

어떤 아이디어가 크게 절상 model.js 내가 그 범프 및 반사지도가 건너 오는 볼 수있는 파일 내부! 감사!! 여기에 편집

내 라이브 데모에 대한 링크입니다 - http://benbeckford.com/temp/

편집 2

나는 다음과 같은 데이터를 변환에서 누락 된 것을 볼 수 있습니다 그래서 함께 연주 후 .js 모델 :

"shading" : "phong", 
"mapSpecular" : "powerday_sat_8_specular.png", 
"shininess" : 1000, 
"mapBumpScale" : 5, 

Max에서 .obj 로의 내 내보내기 또는 .obj에서 .js 로의 변환에 분명히 문제가 있습니다. 누군가가이 문제를 해결했다면 정말 어떻게했는지 알게 될 것입니다! 감사합니다 :)

+0

방금에로드보다는 JS로 변환하는 어떤 이유가 있나요. obj 파일을 OBJLoader 클래스와 함께 사용 하시겠습니까? MeshPhongMaterial과 같은 것이 아닌 MeshFaceMaterial을 사용하는 이유가 있습니까? – 2pha

+0

'materials' 배열에 어떤 재질 유형이 있습니까? Phong이 필요합니다. – WestLangley

+0

안녕 @의 2pha : 'OBJLoader' 클래스는 텍스처를로드하지 않습니다는'OBJMTLLoader'를 사용하여 시도하고 나는 범프 및 반사지도를 잃고 나는'와 MeshFaceMaterial'를 교체 할 경우 모델은 그림자에게 캐스팅하지 않습니다' MeshPhongMaterial'을 선택하면 텍스처가 전혀 나타나지 않습니다 (그냥 흰색 임). – bbeckford

답변

2

내가 수동의 .js 모델을 편집하고 다음과 같이 보이게하기 위해 필드에 추가 결국 :

"materials": [ { 
    "DbgColor" : 15658734, 
    "DbgIndex" : 0, 
    "DbgName" : "21___Default", 
    "colorAmbient" : [0.588235, 0.588235, 0.588235], 
    "colorDiffuse" : [0.588235, 0.588235, 0.588235], 
    "colorSpecular" : [0.117, 0.117, 0.117], 
    "illumination" : 2, 
    "mapAmbient" : "texture_8.jpg", 
    "mapDiffuse" : "texture_8.jpg", 
    "shading" : "phong", 
    "mapSpecular" : "texture_8_specular.png", 
    "shininess" : 1000, 
    "mapBumpScale" : 5, 
    "mapBump" : "texture_8_bump.jpg", 
    "opticalDensity" : 1.5, 
    "specularCoef" : 1000, 
    "transparency" : 0.0 
} 
+0

shininess = specularCoef – Martin