« modelsUnderRay高速化 | メイン | 迷惑メールへの取り組み具合 »

modelsUnderRay高速化2

modelsUnderRay高速化を今度は少し違うやり方で。

■HYO-GONOSUKEさん方式
当たり判定専用の3Dキャストメンバーを別に用意して、modelsUnderRayだけそのワールドで行う。
詳しくは、HYO-GONOSUKEのGAME制作日記参照。

■bamseさん方式
前のエントリーでは対象外グループを消す(worldグループから外す)事で高速化しましたが、bamseさん方式は、判定用モデルだけworldグループに置いて、それ以外の見た目とカメラをworldグループ外にするというやり方。
例えば、"myGroup"に見た目のモデルを入れて、
SW3DMember.group("myGroup").removeFromWorld()
とすればmyGroupはworldに属さないので判定対象から外れます。
そしてカメラのrootNodeをmyGroupにすれば、判定用モデルは不可視になり、見た目用モデルだけが表示されます。
参照:plasma Note 5

■オガワさん方式
modelsUnderRayの回数を半分に減らすというやり方。modelsUnderRayしない時は、前回と前々回のポジションデータから割り出す。
当然精度は落ちるけど、実用上さほど問題なく、負荷は2分の1なので判定対象を減らせない時などに有用です。
参照:もろこしクエスト制作記 :過去ログ

それぞれ好みやケースに合わせて活用しよう。

トラックバック

このエントリーのトラックバックURL:
http://www.kyucon.com/cgi-bin/blog/kyucon-tb.cgi/191

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)