2

私は取り組みたいプロジェクトのために独学で WebGL を学んでいますが、Three.js のすべての気の利いた機能についてはまったくの初心者です。

3-D ビューアーにインポートするために STL ローダーを使用している STL オブジェクトがあります。ここで、そのオブジェクトの不透明度を変更できるようにしたいと考えています。また、そのオブジェクトの特定の機能を削除して、STL 画像の内部を表示できるようにしたいと考えています。オブジェクトの不透明度を変更する方法、おそらく不透明度を変更するボタンを作成します。どうすればいいですか?

また、可能であれば (読み込まれたモデルは複数のパーツで構成されているため) 特定の構造を削除しますか? おそらく、サイドにツールバーがあり、パート 1、パート 2、パート 3 と表示され、各パートについて、そのパートが表示されるだけです。

どうもありがとう!!:D

4

1 に答える 1

1

コードのある時点で、STLLoaderを使用してSTLファイルをロードしている必要があります。また、STLファイルにはマテリアルがないため、次のようなマテリアル定義を追加します。

var material = new THREE.MeshPhongMaterial ({ color: 0xFF0000 });
var mesh = new THREE.Mesh (object, material);

ここで、オブジェクトはaddEventListener関数のevent.targetから割り当てられます。これは、STLファイルをロードする方法であるためです。材料定義を次のように変更できます。

var material = new THREE.MeshPhongMaterial ({ color: 0xFF0000, opacity: 0.5, transparent: true });
var mesh = new THREE.Mesh (object, material);

赤い透明な素材を取得します。Phongを使用する必要はありません。LambertMaterialを使用することもできます。

于 2013-02-13T15:24:58.547 に答える