2017-10-21 1 views
0

사용자 정의 재질 THREE.ShaderMaterial에서 알파 맵 텍스처로 사용하려는 png 이미지 (16x16)가 있습니다. ShaderMaterial의 속성에서Three.js에서 ShaderMaterial으로 알파 맵 텍스처를 사용하는 방법은 무엇입니까?

alphaMap.magFilter = THREE.NearestFilter 
alphaMap.wrapT = THREE.RepeatWrapping 
alphaMap.repeat.y = 10 
alphaMap.needsUpdate = true 

내가 추가 :

transparent: true 

그런 다음 defines 추가이 내 사전로드 된 텍스처 객체의 설정이

Alpha Map

입니다 : 이것은 이미지입니다 :

USE_ALPHAMAP: true, 
ALPHATEST: 0.5 

그리고 마지막으로 uniform :

alphaMap: { type: 't', value: alphaMap } 

내가 오류를 얻을하지 않습니다하지만 메시는 볼 수 없습니다. diffuseColor.rgb으로 설정하면 메쉬가 모두 검은 색입니다. 누락되거나 잘못 된 것은 무엇입니까? 이 문제 (문서화되지 않음)에

답변

0

해결했다 :

uniforms['alphaMap'].value.needsUpdate = true 

가 작동하지 않습니다 이렇게 :

alphaMap.needsUpdate = true 

아마 여기에 추가해야합니다 How to update things (needsUpdate 플래그의 필요성에 대한 텍스처가 실제로 있지만 ShaderMaterial 및 유니폼을 다루는 방법이 명확하지 않습니다.

관련 문제