Papervision3DのCOLLADA周りコードレビュー(途中)

  • モデル読み込みはともかくアニメーション情報の読み込みについてだが、とりあえずなんとなく読んではいるがスケルタルアニメーション等をさくっとやれるようにまでは作りこまれておらず、読み込んだ情報を元に自分でやってちょうだいというぐらいのものである(たぶん)。これならいらない。逆にバグやMaya/Max等から吐き出されるデータに対する柔軟性の面で怪しいものが残る。MD2ぐらいで我慢しながら自作するというのもありだがCOLLADAで実装されてしまうとけっこうあほくさくなりそうではある。自分にとっての知的資産として残るのでやってもいい。
  • ここにクアドラントレンダリングしないと・・・的な記事があるが、Zバッファでワンパス時に描画対象オブジェクトを一気に描画するという仕組みならこんなもの必要ないような気がするが問題が違うのか?
  • レンダリング周りはなかなかの出来なのだろう(たぶん)。しかし干渉判定等必ずほしくなってくるあたりが不足しまくりで、もうちょっと生産性の高いライブラリとして仕上がっているのかと思って調べてみただけに残念。しかもAVM上でのソフトウェアレンダリングなのでこのままではパフォーマンスの面で未来がない。これって選択するに値するものかな?まぁこれぐらいしかないのでしょうがないがAdobe主導でFlash3Dのインフラなんとかしてくれないものか。
  • MD2クラスのメンバにはAnimationControllerがあり、読み込んだ後にplayメソッドを使えば有効なアニメーションが行えるようだ。しかしColladaクラスにはAnimationControllerすらなくジオメトリ情報と静止状態での各オブジェクトの変換情報が得られるのみになっているようだ。こりゃスキニングされたスケルタルアニメーションなどには程遠いつくりである(読むだけならちゃんとクラスが用意されている)。
  • しかしよく考えてみたらAdobeFlashでの3D周りをどうにかしろといってもブラウザアドオンやActiveX版のAVMではPCのディスクやメモリ等を直接書き込みできないという理念があり、ハードウェアアクセラレーションを用いた3Dをやりたい場合ビデオカードのメモリに直インターフェイスで読み書きするとなるとAVMの理念が崩れることになるのかな?Airならともかくブラウザ上でのAVMにとっては一大事になるのか。まぁ私はどうってことないと思うがあとはAVMの設計の問題なわけで、ActiveXなどでもDirect3Dを用いたアプリを動かすことができるんだし強引にくっつけちゃったりできるでしょ?と簡単に言うのはいいがFlashでのDisplaObject等との連携や兼ね合いはどうするのだという話になってくる。まぁそれもインターフェイスだけActionScriptチックにして内部では強引にDirect3DとかOpenGLとかに持っていけ・・・るでしょ??