1
로드/가져 오기 된 오브젝트에서면의 색상을 변경할 수 있다는 것을 알고 있습니다. 하지만 블렌더 모델을 JSON 형식이나 OBJ 형식으로 내보내는 경우 얼굴 그룹을 만들고 런타임에 색상을 변경하는지 알고 싶습니다. 이 솔루션은 텍스처를 피하는 것입니다. 왜냐하면 내 지오메트리가 매우 간단하기 때문입니다.얼굴 그룹의 색상 변경
로드/가져 오기 된 오브젝트에서면의 색상을 변경할 수 있다는 것을 알고 있습니다. 하지만 블렌더 모델을 JSON 형식이나 OBJ 형식으로 내보내는 경우 얼굴 그룹을 만들고 런타임에 색상을 변경하는지 알고 싶습니다. 이 솔루션은 텍스처를 피하는 것입니다. 왜냐하면 내 지오메트리가 매우 간단하기 때문입니다.얼굴 그룹의 색상 변경
기본적으로 JSON을 사용하면 블렌더 밖으로 자료를 내보낼 수 있습니다. MeshFaceMaterials를 조작하면 메쉬 그룹에 링크 된 재료를 조작하게됩니다.
블렌더의 JSON 내보내기에는 메쉬 그룹의 재료가 포함됩니다. jsonLoader의 콜백 함수에서 이들을 조작 할 수 있습니다.
var mesh;
jsonLoader.load(url, function(geometry, materials) {
mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
/*
The MeshFaceMaterial contains the exported materials from blender.
If you manipulate one entry of the material array, every object that uses
this material, will display the changes.
*/
mesh.material.materials[0].color.setHex(0xff0000);
scene.add(mesh);
});