FC2/ JRANK/ bloog/ ranQ/ 人気blogランキング
Papervision3D でマウスイベント
今回は 3D オブジェクトにマウスイベントを付加する話です。
何を今さら、な空気が漂いまくりの今日のネタ。
なにしろ、配布元によるサンプルの PaperCloud はまさにソレがテーマですし、有益な日本語文献も既に存在しています。
- [papervision3d]*Step1*マウスイベント等を付けたりしてみる。( F-site )
- DisplayObject3DにMouseEventがよくわからん( Unknown Quality )
そんなわけでこの件については上記の二つの記事を読めば、もうそれで必要充分なのですが、とりあえず備忘録的な意味合いでエントリーすることにします。
3D オブジェクトにマウスイベントを付加する際に留意すべきは次の二点。
- scene は Scene3D ではなく MovieScene3D を使う
- 対象 3D オブジェクトは MovieScene3D 直下に配置しなければならない
1. scene は MovieScene3D
Scene3D は 3D オブジェクトへのマウスイベント付加に対応していません。
Scene3D のサブクラスである MovieScene3D を使う必要があります。
ところで、世間に出回ってる各種 Papervision3D ソースでは、scene として使われているのは Scene3D の方が多い印象を受けます。
PaperCloud のソースを参照しながら、自作の PV3D 用フォーマットソースにマウスイベント対応させようとして、scene を MovieScene3D に切り替え忘れて慌てたのは、どこのどいつだ〜い? 私だよー!
そんな感じで、F-site のエントリーは、読み手にとって若干説明不足になってしまう可能性がなきにしもあらず。
scene に Scene3D ではなく MovieScene3D を使うということが、特に明示されていませんので(記事中のコードや配布ソースはもちろん MovieScene3D になってますが)。
そんなときに大いなる救済となるのが Unknown Quality のエントリー。
本文をお書きになった管理人さんと、コメントをお書きになった閲覧者さんのお二人の華麗な連係プレーに感謝。
2. オブジェクトは MovieScene3D 直下に配置
MovieScene3D は、その直下に配置した 3D オブジェクトにのみマウスイベントを付加させる機能を持っています。
ところで、たいていのソースでは rootNode という DisplayObject3D を作って、それに対して複数の 3D オブジェクトを addChild していくというコード手法をとっています。
そして rootNode を rotation[X|Y|Z] すると、複数の 3D オブジェクト全部が rotation[X|Y|Z] するという、まったくもって便利この上ない仕組みになっているわけです。
しかし MovieScene3D の直下に配置した 3D オブジェクトにしかマウスイベントが付加できないということは、この階層構造的配置が使えない、つまり一括で数多の 3D オブジェクトを回転させるという便利な手法が使えない。
3D オブジェクトを動かしたいと思った場合、それぞれ個別に動かすか、それともカメラを動かすか、That is the Question. という設計上の選択を迫られるわけですね。
コーダーにとってかなり大きな影響をもたらす仕様です。
こんにちは. このごろ AS3をドイヌッゲ勉強しながら Papervision3Dに対するおもしろい結果物と話を見るようになりました. とてもおもしろかったです.
それで検索をしている途中様のブログまで来るようになりました. さまざま Papervision3Dに対する使用方法とコードたちは私に多くのお手助けになっています. 今後とも良い内容で構えてくださればありがたいです. ^^
私は韓国に住む jasuと言います. web 関した事をしているし flash toolを扱っています. 日本語が分からなくて翻訳機を通じてあいさつをします. 内容が変かも知れないからご了解願います. Papervision3Dに関した資料はどこで得るのか知りたいです. ありがとうございます.
http://jasu.tistory.com
An-nyon hasimunika jasu si
挨拶が間違えていたらごめんなさい。
ハングルが分からないので日本語で書かせていただきます。
この Blog の管理者の Aquioux です。
私の書いた記事がお役に立って何よりです。
jasu さんもそうだと思いますが、私も Google や Technorati で検索した Web Site や blog から情報を収集しています。
今後も Papervision3D についてのエントリーを続けていきますし、有益な情報を持った Web Site や Blog を見つけたらアップしますね。
コメントありがとうございました。
감사합니다.
こんにちは...
返事ありがとうございます. 韓国言葉が分かっているということが不思議です. ^^
翻訳機の助けで comment 内容を理解するのに問題がないです.
これから blogを通じて交流したらと思います.
私の blogにも冷やかして来て日本語でコメント残してくださればお返事を申し上げます. ありがとうございます.
この記事のトラックバックURL:http://aquioux.blog48.fc2.com/tb.php/213-a743d611
Papervision3Dメモ #18
階層化された3Dオブジェクトにマウスイベントを付けるAquiouxさんのエントリー「Papervision3D でマウスイベント(閃光的網站・弛緩複合体)」にスッキリまとめられているように、PV3Dは階層化された3Dオブジェクトにマ



