DjangoHackation Disc8 に参加し、GoogleAppEngineでO3Dデータのシンプルビューアーを作った。
今回のDjangoHackathonは、Disc8。場所は市ヶ谷健保会館 会議室F(たぶん一番デカイ部屋)参加者が47人とHands onとhackathonをメインにしたイベントでは大所帯となった。DjangoとGAEのハンズオンとHackthonがそれぞれテーブルに分かれ行われた。詳細はhttp://twisted-mind.appspot.com/django-ja-hack-a-thon-disc-8/
今回は、この先大爆発が約束されているo3dを使って、GAEでシーンデータのギャラリーみたいなのを作ってみた。
成果ブツは、http://a2c-dev.appspot.com/3d/index で、アクセス出来ます。
tzgファイルをアップロードする際に名前を付けることが出来ます。
アップロードすると表示タブにリストアップされるので、名前をクリックすると新しいwindowが開きます。
モデルがレンダリングされます。W,A,S,Dのキーでモデルをグリグリ回す事が出来ます。
はまったとこ
- モデルのシーンが相対パス じゃないと駄目
アップロードした各3Dシーンに対してユニークなURLでモデルの配信を出来る用にした。しかし、そのPathをloadSceneに渡しても、「パーミッションがねー」といって怒られる。結局Loadさせるhtmlに対しての相対パスでないと受け付けないという所に填った。今回は
loadScene(g_pack, 'model/{{ model.key }}' , g_sceneRoot);
とやっている。
今気づいたけど
var scenePath = o3djs.util.getCurrentURI() + fileName;
こいつが勝手にパスを追加してるんだな。まぁ、Load出来てるからいいや
今回初めてBlobProperty使って見たけど特に癖もなく普通だった。容量制限が1度に1MBらしいのでそれ以上のシーンデータを扱う為には、分割と連結をやる必要が有る。ソレソレで面白そうだな。