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 로의 변환에 분명히 문제가 있습니다. 누군가가이 문제를 해결했다면 정말 어떻게했는지 알게 될 것입니다! 감사합니다 :)
방금에로드보다는 JS로 변환하는 어떤 이유가 있나요. obj 파일을 OBJLoader 클래스와 함께 사용 하시겠습니까? MeshPhongMaterial과 같은 것이 아닌 MeshFaceMaterial을 사용하는 이유가 있습니까? – 2pha
'materials' 배열에 어떤 재질 유형이 있습니까? Phong이 필요합니다. – WestLangley
안녕 @의 2pha : 'OBJLoader' 클래스는 텍스처를로드하지 않습니다는'OBJMTLLoader'를 사용하여 시도하고 나는 범프 및 반사지도를 잃고 나는'와 MeshFaceMaterial'를 교체 할 경우 모델은 그림자에게 캐스팅하지 않습니다' MeshPhongMaterial'을 선택하면 텍스처가 전혀 나타나지 않습니다 (그냥 흰색 임). – bbeckford