2

Three.js と webGLrender を使用してホッケー スタジアムと座席 (80k パーティクル) を表示しています。各座席でピッキングできるようにしたいと考えています。レイ インターセプトを使用する隠しオブジェクトを作成しようとしましたが、80k オブジェクトではすべてが遅くなりすぎます。したがって、ズームが十分に近く、座席のセットのみが表示されている場合にのみ、オブジェクトを作成するのが最善の方法だと思います。問題は、粒子システムのどの粒子 (頂点) が錐台の内側に落ちているかを検出する方法がよくわからないことです。

アイデアやサンプルはありますか?

前もって感謝します!

4

1 に答える 1

0

私は特にthree.jsについて知りませんが、ビュー錐台カリングを見てください。このリンクはそれがどのように行われるかを詳細に説明しています。

http://www.lighthouse3d.com/tutorials/view-frustum-culling/

最も速くて最も正確でない方法は、各座席の重心を計算し、ポイント包含テストを実行して、座席をピッキングすることを検討する必要があるかどうかを判断することです。より複雑なアプローチでは、各シートの境界キューブ/球を事前に計算し、それらに対して包含テストを実行する必要があります。

別のアプローチは、八分木などのルックアップコストを削減するために空間インデックスデータ構造を使用することです。

于 2012-03-02T01:15:00.760 に答える