블렌더에서 만든 UV 매핑이있는 3D 모델이 있습니다. 텍스처가 모델의 한면에만 적용되는 방식으로 UV 매핑을 적용했습니다. 나는 obj
과 mtl
으로 모델을 수출했다. three.js
에서이 모델을 가져 오면 로더가 mtl
파일에 정의 된 이미지를 텍스처로 자동 적용합니다.three.js에서 obj 모델 재질 변경
이제이 질감을 프로그래밍 방식으로 three.js
에서 변경하고 싶습니다. 이 모델에는 여러 개의 재질이 있습니다 (여러면으로 인해 생각합니다). UV 맵핑을 유지하면서 적용된 텍스처 만 변경하면 머티리얼을 다시 적용하려면 어떻게해야합니까? map
및 envMap
을 모델에 적용하고 싶습니다. 시행 착오 후에인가 m
및 m2
위치와
var m = new THREE.MeshPhongMaterial({
envMap: cubemap,
reflectivity: 0.9
});
var m2 = new THREE.MeshPhongMaterial({
envMap: cubemap,
color: parseInt(material.color, 16),
reflectivity: 0.9,
map: THREE.ImageUtils.loadTexture('/textures/uv_checker large.png')
});
loadedMesh.material = [m,m,m,m,m,m2,m2,m2,m];
. 텍스처가 적용되지만 원본과 같은 모양이되지는 않습니다. 나는 공간이 작고 빈 공간도 있고 UV 맵핑으로 인해 텍스처가 없어야한다.
어떻게 접근 할 수 있습니까?
이전에는 문제가 있었기 때문에 OBJMTLLoader를 사용하지 않았습니다. OBJLoader로 모델을로드 한 다음 별도로 재료를 작성합니다. – 2pha