web-dev-qa-db-ja.com

three.js:レンダリング順序を制御する方法

Three.jsを使用しています

レンダリング順序を制御するにはどうすればよいですか? 3つの平面ジオメトリがあり、それらの空間位置に関係なく特定の順序でレンダリングしたいとします。

ありがとう

16
Memo Lestas

threejs r70以降では、renderDepthが削除されています。

2
Martin

私の場合、object.renderDepthの使用は機能しました。透明なガラスケースと泡が入っていました。泡は特定の角度で失われていました。

そのため、renderDepthを高い数値に設定し、シーン内の他の要素の深さで再生すると、問題が修正されました。 dat.guiコントロールをrenderDepthプロパティに接続すると、シーンを機能させるために必要な深さを微調整するのが非常に簡単になりました。

だから、私のfishSceneには、砂利、タンク、泡があります。砂利メッシュをdat.guiコントロールに接続し、数秒で必要な深さになりました。

this.gui.add(this.fishScene.gravel, "renderDepth", 0, 200);
0
neoRiley

ランダムな位置xとy ...およびobj.z ++のforループから複製されたオブジェクトの束があったので、それらはobj.renderOrder ++を含めて一列に並んでいました。ループで私の問題を解決しました。

0
Rafael Milewski