non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

mrubyのHTTP2サーバーでWebGLでGopherを出そうとした

はじめに

この記事は、@kjunichiの2015年パーソナルアドベントカレンダーの19日目の記事です。

mrubyのHTTP2サーバーtrusterdで3DのGopherを表示させてみた。

qiita.com

を手元の2 wayノートPCでGo言語に苦戦しながらもChatを動かすところまでたどり着いたので 何か3番煎じくらいできないかと模索してみた記録?

元から

github.com

を知っていたので、Three.jsで簡単にGopher表示できるだろうと思って始めたが、 Blender力が足りず、全然、意図した形状データをJSON化できず、1日かかってしまった。

回覧注意

マテリアル情報のエクスポートがうまくいっておらず、すごい生物が生まれてしまった。。。

f:id:kjw_junichi:20151219214429p:plain f:id:kjw_junichi:20151219215339p:plain

わかったこと

blenderでthree.jsのJSONエクスポーターを使う際は、 現状シーンをごっそりエクスポートできないっぽい。undefined mとthree.jsライブラリ側で jsonを読み込むだけでNG。

また、オブジェクトをエクスポートする際は、aを押して、Ctrl+Jで全てのオブジェクトを 結合してからエクスポートして、かつjson中のcolorAmbientの指定箇所を削除する必要がある。

github.com

開発コンソールのエラー見る限り、trusterd側で.jsonファイルを返す際にMIME TYPEを設定する必要がありそう。

HTTP1と比較しようとしたが、httpsにしておらず、ブラウザにファイルをキャッシュされてしまい、 比較にはならなかった。しかし、jsonファイルが3d形状データの為、そこそこ、サイズがあり、この 転送では、trusterdの方が圧倒的な転送速度が出ているようだ。

f:id:kjw_junichi:20151219214452p:plain

関連記事