2012-03-06 7 views
0

私はopen3でシーンとカメラビューを設定するためにmin3dを使用するアプリケーションを持っていますが、私はraypickingを実装することができました。私のシーンのクリック可能なオブジェクトをクリックすると、画面のクリックが少し外れることがあり、オンスクリーンでないオブジェクトは、カメラから外れている可能性があるため、クリックが発生する可能性があります。AndroidとopenGL esオブジェクトがカメラビュー内にあるときを知る方法

シーン内にあるオブジェクトのarraylistを取得し、updateSceneメソッドの呼び出しごとにブール値をチェックして、オブジェクトがカメラビュー内にあるかどうかを確認したいと思います。これにより、オブジェクトを削除したり、別のarraylistにオブジェクトを追加したりすることができます。これは、私のラピッッキングメソッドがスクリーンタッチで呼び出されたときに繰り返します。

Imが欠けている部分は、どのオブジェクトが画面に表示されているかを追跡する方法です。私はすでに、そのようなことを得る数学を持っていることを知っています。画面上のオブジェクトを取得する正しい方法を実装する方法についてちょっと混乱しています。どんな助けも素晴らしいだろう。それは窮地の中で追跡することと関係がありますか?

答えて

1

あなたが探しているもの私は、一般に「錐台カリング」と呼ばれています。基本的には、オブジェクトの周囲に単純な境界ボックス/球/円柱/等をラップし、この単純な幾何学的形状を錐台の各平面に対してテストして、完全に箱の外側にあるかどうかを調べます。

このチュートリアルでは、あなたを助けることがあります。

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

+0

うんアイブ氏は早期昨日からそれを理解しようとして。私は学校にいたときに錐台の淘汰を扱ったが、すばらしい数学のことを忘れてしまった:p私は昨夜そのチュートリアルを見たこともあったが、私はチュートリアルの残りの部分へのリンクを見なかったその時点でとても燃えていた。 –

+0

ライトハウスチュートリアルはかなり良いものでしたが、私は以下のチュートリアルが私にとってはるかに役立つことを発見しました.... http://www.crownandcutlass.com/features/technicaldetails/frustum.html –

関連する問題