5

我正在尝试创建一个透明圆柱体。我试过设置透明、不透明度等,但似乎无法让它工作。有没有办法做到这一点?我需要加载带有 Alpha 通道的虚拟纹理吗?有没有更简单的方法?

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 个,所以我添加了损坏的链接。在每个网址前添加“h”。

ttp://img692.imageshack.us/img692/6412/shadermaterial.png 使用ShaderMaterial,您会看到被透明圆柱体包围的矩形灰色Sprite。

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 使用 MeshBasicMaterial 和 Opacity 1.0。

4

1 回答 1

5

不应该是这个吗?

material = new THREE.MeshBasicMaterial( { wireframe: true, opacity: 0.5 } );
于 2012-07-17T17:58:55.080 回答