2014-01-22 3 views
2

transcut http://glasier.hk/image/transcut.pngthree.js를

각면이 만든 투명한 평면 절단 인접한 객체 텍스처 :

geometry = new THREE.PlaneGeometry(w,h,1,1,1); 
base = new THREE.MeshBasicMaterial({ color: pass.color, transparent: true, side: THREE.DoubleSide}) 
material = new THREE.MeshLambertMaterial({ map: THREE.ImageUtils.loadTexture(pass.img), transparent: true, opacity:1, side: THREE.DoubleSide }); 
shape = new THREE.Mesh(geometry, material); 

I 무엇이 잘못했을?

답변

3

깊이 버퍼 문제 인 것 같습니다. thisthat을 참조하십시오.

재질의 depthTest 및 depthWrite 매개 변수로 재생하거나 사용자 지정 순서로 개체를 그릴 수 있습니다. renderer.sortObjects = false을 설정하고 장면에 투명 텍스처를 마지막으로 추가하여이를 수행 할 수 있습니다.

+2

정말 고마워. 나는 Doob이 "this"에서 제안한 것처럼'alphaTest : 0.5'를 사용했습니다. 하나님은 면화 양말을 축복하셨습니다. –