o3dで遊んでみたメモ。
Developer’s Guideとサンプルを参考に、PV3D初挑戦の時と同じくCubeを回した。simple.jsっていうPV3DのBasicViewみたいなモジュール使うと楽ができる。
Hello o3d(要:o3dプラグイン)
※デモを見るには、o3dプラグインが、ブラウザにインストールされている必要があるのでそこんとこよろしくです。また、動作ビデオカードに制限があるので、動かない場合もあるです。
オレの中で理解度のベンチマークになってしまいつつある、ネギ振りもやってみた。
ハイエンド ネギ振り(要:o3dプラグイン)
※クリックで振る
もともとPV3D用だったので、スペキュラとかディフューズの設定がデタラメな為、妙に光っております。o3dで外部シーンファイルを読み込んで使うには、専用のコンバータをかます必要がある。DAEファイルをコンバータにかけると、.tgzファイルが出来上がる。中身はテクスチャ用のビットマップデータとか頂点バッファ?とかのバイナリとか。元のColladaは、XMLから.jsonに変換された。.jsonのほうがパースが速いのかね?
この辺の解説は、Developer’s GuideのImporting Scene Filesセクションに書いてある。
つまずいたのはサーバーにアップロードした際、同一ドメイン内だとデータが読み込まれなかったこと。フォーラムに同じ問題に当たった人がいて、この人は拡張子を「.tgz」から任意の適当な拡張子に変えることで解決できてたんだけど、オレの場合はだめだった。読み込み元となる.htmlとは別のサーバにアップロードした上で読み込んだら上手くいった。っていうかセキュリティ的に大問題だろこれ。
追記:
MIMEタイプ設定の問題だった。.htaccessに以下を追加で解消。
AddType application/x-gzip .tgz
まぁもう、まだまだドラフト版といった感じ。参照先を間違えたりするといきなりブラウザごと落ちたりとか普通だし。普及とかどうとか以前の問題ですな。
そういえば、o3dの登場でオレ的に注目度が上がったのが JSAway。Away3DのJS版なんだけど、これのエンジン部分をo3dに丸投げするようになってくれたら超使い易い。一気にo3dがお手軽になるんだけどなー、やらないだろうな。