Papervision3D の InteractiveScene3D(7)(了) あるいは MovieScene3D と Group.as
2007/08/16 21:48 - Papervision3D
今まで長々と Papervision3D の InteractiveScene3D について書いてきましたが、結局、私のやりたかった 3D オブジェクトへのフォグ効果付加を、InteractiveScene3D は想定していないということが判明しました(ガックリ)。
とゆーことで、他の手段を探さねばならなくなったワケですが、ここはやはり基本に戻って MovieScene3D を使うべきでしょうね。
前にも書きましたが、3D オブジェクトへのフィルター適用は MovieScene3D の container でヨロシクって公式ドキュメントにも書いてあることですし。
問題は、いかにして MovieScene3D を使いながら、DisplayObject3D の階層構造を実現するかです。
いろいろ考えているうちに、note.x さんのとこで階層構造を持った 3D オブジェクトにマウスイベントを実装するってのがあったことを思い出しました。
Papervision3D では、3D オブジェクトを階層構造で管理するため、rootNode という DisplayObject3D インスタンスを生成し、その rootNode に平面だの球体だのといった実態としての 3D オブジェクトをぶら下げる手法をとっているということは、皆さんご案内のとおりです。
そして MovieScene3D ではシーン直下にぶら下げないと 3D オブジェクトにマウスイベントが付加できない、だから階層構造で管理ができない、ということもこのブログでさんざん繰り返してきました。
そこいら辺を解決するための Group.as というクラスを PV3D のメーリングリストで見つけた、というのが note.x さんのエントリーの内容です。
詳細は先方様と、その先のPV3D メーリングリストをご覧ください。
実は数回前に掲示したフォグ効果付きサンプル(下に再掲)は、その Group.as で実現したものだったのでした。
- Main.as( 2.93 KB )
- AqMath.as ( 1.20 KB )
- Group.as は上記の note.x さんのエントリーから辿れるメーリングリストで取得してください。
- イメージファイルは各自でご用意ください。
紆余曲折の末、MovieScene3D と Group.as を使って、フォグ効果を実現するに至った一席。 これにておしまい。