2016-07-19 2 views
0

메쉬를 덮기 위해 텍스처를 오버레이하는 효율적인 방법을 찾고 있습니다. 3 차원 매핑/객체에 관해서는 전문가가 아니며 초보자가 아닙니다. 아래는 최종 제품을 어떻게 보이게하는지 보여줍니다.STL로드 된 메쉬에 텍스처 오버레이

Image depicting the end result

다음 코드를 사용하여 질감을 적용하는 시도, 최종 결과는 다음과 비슷합니다. 나는 어떤 UV 매핑도하지 않았고, 나는 나의 대답이 여기 누워 있을지도 모른다라고 생각한다. 아래 이미지에서 볼 수 있듯이 일반적으로 그림의 일반적인 음영을 취하지 만 엔티티 전체가 아니라 모델의 각 버텍스간에 텍스처가 그려지는 느낌을받습니다. 내 STL로드 메쉬하지 않는 반면

var textureLoader = new THREE.TextureLoader(); 
var texture = textureLoader.load('resource/images/materials/Mahogany.jpg'); 

var STLLoader = new THREE.STLLoader(); 
STLLoader.load('test.stl', function (geometry1) { 
var meshMaterial = new THREE.MeshBasicMaterial({map:texture}); 

var mesh = new THREE.Mesh(geometry1, meshMaterial); 

mesh.scale.set(1, 1, 1); 
mesh.position.set(5, 20, 80); 
scene.add(mesh); 
}); 

enter image description here

큐브가 올바른 텍스처링 있습니다.

위의 그림에서 객체의 회전을 무시하십시오. 질감 문제를 해결하면 객체를 결합하는 것으로 이동합니다.

여기에 대한 질문에서 상당히 새롭기 때문에 너무 일반적이거나 충분히 익숙하지 않은 경우 내 질문을 확장하는 데 도움이되도록 의견을 말하십시오. 고맙습니다.

답변

1

당신은 객체 이외의 재료를 바꿈됩니다

THREE.MeshPhongMaterial() 

대신

THREE.MeshBasicMaterial() 

THREE.MeshPhongMaterial()로 사용할 수 있습니다 그리고 우리는 개체에 따라 곡선 자료를 얻을 수 있습니다.