STLLoader.js を使用してコンポーネントを描画しています。すべてのコンポーネントは 1 つの定義された色で適切にレンダリングされますが、実際のコンポーネントのようには見えません。
上の画像は、STLLoader.js (バイナリ STL ファイルを使用) を使用した私の three.js 実装です。この形式はコンポーネントの色をサポートしていると読んだからです。
以下の画像は、私の Windows ソフトウェアの 1 つをレンダリングしたもので、そこで Step ファイルを使用しました。下の画像と同じようにコンポーネントをレンダリングしたいので、実際のコンポーネントのように見えます。
three.jsで正しい色の出力を得る方法はありますか? 私はたくさん検索しましたが、それを実装する方法がありませんでした。前向きになれるように助けてください。
var loader = new THREE.STLLoader();
loader.addEventListener( 'load', function ( event ) {
var material = new THREE.MeshPhongMaterial( { color: 0x75D3DC, ambient: 0x75D3DC, specular: 0x75D3DC, shininess: 200/*, vertexColors: THREE.VertexColors */} );
var mesh = new THREE.Mesh( geometry, material );
mesh.position.x = x - boardMaxX + w/2 ;
mesh.position.y = - 5 ;
mesh.position.z = z - boardMaxY + h/2 ;
mesh.rotation.set( (rotation * Math.PI / 180.0), 0, 0 );
mesh.scale.set(2, 2, 2);
mesh.castShadow = true;
mesh.receiveShadow = true;
board.add(mesh);
objects.push( mesh );
i = i + 5;
componenetDraw(componentArray[i] * scaleX, -7, componentArray[i + 1] * scaleY, componentArray[i + 2], componentArray[i + 4]);
} );
loader.load( fileName );
}
上記のコードは、STL ファイルの読み取りに使用されます。しかし、STEPファイルを読み取るためのコードがありません。