When it’s ready.

出来るまで出来ない

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のキーでモデルをグリグリ回す事が出来ます。

  • シーンデータは、tgz形式に圧縮してある必要が有ります。
  • googleのo3dコンバータで、collaraかkmlからコンバートできるようです。

はまったとこ

  • モデルのシーンが相対パス じゃないと駄目

アップロードした各3Dシーンに対してユニークなURLでモデルの配信を出来る用にした。しかし、そのPathをloadSceneに渡しても、「パーミッションがねー」といって怒られる。結局Loadさせるhtmlに対しての相対パスでないと受け付けないという所に填った。今回は

loadScene(g_pack, 'model/{{ model.key }}' , g_sceneRoot);

とやっている。

今気づいたけど

var scenePath = o3djs.util.getCurrentURI() + fileName;

こいつが勝手にパスを追加してるんだな。まぁ、Load出来てるからいいや

今回初めてBlobProperty使って見たけど特に癖もなく普通だった。容量制限が1度に1MBらしいのでそれ以上のシーンデータを扱う為には、分割と連結をやる必要が有る。ソレソレで面白そうだな。