1

私は three.js に関して初心者で、インポートされたジオメトリ (すべてのマテリアルとテクスチャを含む 3dsmax からの js ファイル) と CanvasRenderer に問題があります。CanvasRenderer は、インポートされたジオメトリの三角形のエッジを表示します。WebGLRenderer はうまく機能します。

キャンバスの例: http://der-n.square7.ch/threejs/examples/teapot_canvas.html

WebGL の例: http://der-n.square7.ch/threejs/examples/teapot_webgl.html

three.js ライブラリで、マテリアルがこの動作を修正するためのオプション「overdraw: true」を見つけましたが、マテリアルとテクスチャは上記のエクスポートされた 3dsmax js ファイルによって定義されていることは明らかです。

テストでは、小さな変更を加えた「misc_camera_trackball」の例を使用します (JSONLoader を追加し、カメラとトラックボールのパラメーターをいくつか変更し、明るい色をいくつか変更し、CanvasRenderer を追加しました)。

これを解決するためのヒントはありますか?ご協力いただきありがとうございます。

よろしくオギー

4

1 に答える 1

0

ローダー コールバックでは、ロードされたすべてのマテリアルが配列に含まれていgeometry.materialsます。これらのマテリアルをループして、overdrawプロパティをtruefor each に設定できます。

私の知る限り、THREE.MeshFaceMaterialは「ジオメトリのマテリアル配列から使用するマテリアル インスタンスを指すインデックスが面にある」ことを示す単なるパススルー マテリアルであるため、プロパティを設定しMeshFaceMaterialても効果はありません。

于 2012-10-16T12:30:01.797 に答える