位置がすべてのオブジェクトの背後にある場合でも、Three.jsでメッシュを常にシーンの上にレンダリングすることは可能ですか?私はメッシュを使用してラッセルの選択を実装しているので、残りのシーンの上に選択ボックスをレンダリングする必要があります。Three.js - ジオメトリが別のものの上にある
答えて
はい。そして、あなたが上になりたいだけのオブジェクトが含まれている2番目のシーンを作成
renderer.autoClear = false;
:
最初にこれを行います。その後、自分の中でループをレンダリング:
renderer.clear(); // clear buffers
renderer.render(scene, camera); // render scene 1
renderer.clearDepth(); // clear depth buffer
renderer.render(scene2, camera); // render scene 2
EDIT:メッシュが単一の材料を持っている
mesh.renderOrder = 999;
mesh.onBeforeRender = function(renderer) { renderer.clearDepth(); };
場合、それは以下となります。別の解決策は、ただ一つのシーンを持っていますが、このパターンを使用することです"上に"描画する。
three.js r.85
あなたが前面に一つだけのメッシュをレンダリングしたい場合もfalse
に、そのオブジェクトの材料にdepthTest
を設定することで管理できます。
var onTopMaterial = new THREE.MeshStandardMaterial({
color: 'red',
depthTest: false
});
mesh.material = onTopMaterial;
は中demonstationをチェックthis fiddle
注:あなたは01を持っていることを確認してくださいはデフォルトのtrue
の値に設定されています。
これはいい考えではありません。落とし穴がたくさんあります。 1つは、青いキューブに 'transparent:true'を設定します。しかし、最大の問題は、 'depthTest = false'を設定することによって、いわゆる"トップメッシュ "はもはやそれ自身で深さテストされなくなり、レンダリングの成果物につながることです。 – WestLangley
@ WestLangleyご意見ありがとうございます。透明な設定と競合することは私の場合は受け入れられますが、私は確かではありません。これをどうすればテストできますか?私は一時的にオブジェクトを 'mouseover'で他のオブジェクトの前に一時的に移動させ、' mousout'に戻す必要があります。このような場合、別のシーンに一時的に追加することは望ましくありません。 – Wilt
非常に制限されたユースケースがない限り、私は受け入れられた答えのアプローチに従います。 – WestLangley
- 1. three.js - ジオメトリの翻訳方法
- 2. three.jsの球体ジオメトリをポイント
- 3. Three.js:ジオメトリのカスタム属性
- 4. Three.jsカスタム階段ジオメトリ
- 5. Three.jsジオメトリを拡張する
- 6. THREE.js別々のジオメトリで滑らかなマテリアルカラーサイクル
- 7. three.js更新ジオメトリface materialindex
- 8. ジオメトリのThree.js回転と配置
- 9. three.js - ジオメトリと材料を別々に複数のオブジェクトをjsonにエクスポート
- 10. THREE.jsポイントにジオメトリを動的に追加ジオメトリがレンダリングされない
- 11. Three.jsが複数のジオメトリを追加する
- 12. Three.jsがジオメトリの中心を移動する
- 13. three.jsでのジオメトリの結合が機能しない
- 14. Three.js、メッシュのジオメトリの三角形に太さを追加
- 15. THREE.JSの2つのジオメトリ(スイープ・レール、キャップ)の接続
- 16. three.js:押し出しジオメトリ用の複数のマテリアルの問題
- 17. リモートデータベースアクセスインターネット上にあるもの
- 18. カーブ上のThree.jsポジションオブジェクト
- 19. Three.js形状のジオメトリにフロントテクスチャとバックテクスチャを追加する方法は?
- 20. three.js:作るテクスチャ現在three.jsで3つのラッピングモードがある
- 21. three.js - TubeGeometry + DecalGeometry(チューブのセグメント上)
- 22. three.jsのものに似たコンストラクタ
- 23. ジオメトリがThree.jsで描画される方法を変更する方法はありますか?
- 24. 私のブートストラップコンテナが他のものの上にある
- 25. 別のものの上のアクティビティ
- 26. テクスチャはあるジオメトリには表示されませんが、他のジオメトリに表示されます
- 27. ジオメトリ上に正三角形のグリッドを作成する
- 28. Mapboxの更新プロパティがジオメトリになる
- 29. 別のものの上にgitリポジトリを追加するには
- 30. THREE.jsのpngテクスチャの上下のアーティファクトv76
これが唯一の方法ですか?私はmesh.renderDepth、material.depthTest、material.depthWriteで同じ効果を得ようとしていましたが、役に立たなかったのです。 – Andrew
@Andrew質問がある場合は投稿を作成してください。 – WestLangley
@Andrewは今同じことをしようとしています。http://stackoverflow.com/questions/16247280/force-a-sprite-object-to-always-be-in-front-of-skydome-objectin -three-js – sixFingers