2012-07-17 4 views
2

투명 실린더를 만들려고합니다. 나는 투명도, 불투명도 등을 설정하려했지만 작동시키지 못했다. 이 일을 할 수있는 방법이 있습니까? 알파 채널이있는 더미 텍스처를로드해야합니까? 더 간단한 방법이 있습니까?투명 실린더 만들기

material = new THREE.MeshBasicMaterial({wireframe: true}); 
material.transparent = true; 
mesh = new THREE.Mesh(new THREE.CylinderGeometry(4, 4, 50, 8, 1, true), material); 
scene.add(mesh); 

업데이트 : 코드를 다음과 같이 변경했지만 ShaderMaterial을 이런 식으로 사용하는 것은 잘못된 것처럼 보입니다. 하지만 작동 ...

material = new THREE.ShaderMaterial({wireframe: true, transparent: true}); 
mesh = new THREE.Mesh(new THREE.CylinderGeometry(4, 4, 50, 8, 1, true), material); 
scene.add(mesh); 

업데이트 : 여기에 이미지가 있습니다.

  • 11의 평판이 필요하고 10 개 밖에 없으므로 이미지를 제대로 추가하거나 링크를 추가 할 수 없으므로 대신 부러진 링크를 추가했습니다. 각 URL 앞에 'h'를 추가하십시오.

TTP : ShaderMaterial는 투명 실린더에 의해 둘러싸인 직사각형 회색 스프라이트를 참조하여 //img692.imageshack.us/img692/6412/shadermaterial.png.

http://img855.imageshack.us/img855/3988/opacity00.png 불투명도 0.0의 MeshBasicMaterial 사용.

http://img27.imageshack.us/img27/6087/opacity05.png 불투명도 0.5의 MeshBasicMaterial 사용.

http://img837.imageshack.us/img837/8043/opacity10.png 불투명도 1.0의 MeshBasicMaterial 사용.

답변

2

대신이 대신해서는 안됩니까?

material = new THREE.MeshBasicMaterial({ wireframe: true, opacity: 0.5 }); 
+0

저는 실린더 안에 뭔가 (스프라이트)가 있습니다. 다음을 수행하면 배경이 불투명도의 영향을 받기는하지만 Sprite는 더 이상 볼 수 없습니다. 불투명도를 0.0으로 변경하면 Sprite는 보이지 않으며 1.0은 흰색 원통입니다. 소재 = 새 THREE.MeshBasicMaterial ({와이어 프레임 : 허위, 불투명도 : 0.5}); material.transparent = true; – user1518845

+0

모든 스크린 샷을 공유 하시겠습니까? – mrdoob

+0

물론, 나는 그것들을 얻을 것이다. 이것은 스프라이트와 교차 할 수없는 다음과 관련이 있습니다. http://stackoverflow.com/q/11511787/1518845 – user1518845

관련 문제