5

透明な円柱を作ろうとしています。透明度、不透明度などを設定してみましたが、うまくいきません。これを行う方法はありますか?アルファ チャネルを持つダミー テクスチャをロードする必要がありますか? もっと簡単な方法はありますか?

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://img692.imageshack.us/img692/6412/shadermaterial.png ShaderMaterial を使用すると、透明な円柱に囲まれた長方形の灰色のスプライトが表示されます。

http://img855.imageshack.us/img855/3988/opacity00.png Opacity 0.0 で MeshBasicMaterial を使用します。

http://img27.imageshack.us/img27/6087/opacity05.png Opacity 0.5 で MeshBasicMaterial を使用します。

http://img837.imageshack.us/img837/8043/opacity10.png Opacity 1.0 で MeshBasicMaterial を使用する。

4

1 に答える 1

5

代わりにこれではないでしょうか?

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