Pentanium Reactor Blog

ゲーム、アニメ、CG、プログラミング

3D-CoatとBlenderとjsと

2012年04月27日 18時01分23秒 | プログラミング
ネタがあったら書くべきだよね、というわけで。

まずは3DCutils
3D-Coatのユーザーフォーラムをのぞいたら3bファイルのボクセルチャンクの説明があったのでつくってみた。
3bファイルからボクセルをBlenderで使える形式に変換しつつ書き出して、それをボリュームテクスチャとしてインポートするBlenderのアドオン。
使用例は下のような感じ。
まだ3D-Coatにghostが付いてないバージョンなので見えないけれど、中をくり抜いて別のボクセルをはめ込んある。
で、下がそれをBlenderでボリュームテクスチャとしてレンダリングしたもの。


試してみてはじめて、BlenderのInternal Rendererは重なっているボリュームをレンダリングできないとか、デプスがテクスチャを適用しているオブジェクトの形になっちゃう(当然と言えば当然)とか判った。
じゃあCyclesなら...と思ったらまだボクセルデータには対応していないようす。
仕方が無いから選択したオブジェクトから全てのテクスチャを回収してくる簡易ツールも付けてのご提供!
なかなかに誰得な代物に仕上がっております(笑)

あとjsdo.itでやってたQというイベントで面白そうなのがあったのでやってみた。
1つ目はTunnel :: forked: Sound Visualizer。Chrome専用。これはCanvas描画。
サンプルとして提示されているフォーク元のソースで、『FFTを取得』みたいなコメントが書かれていたところは実は波形を取っているという罠のあるお題。
ちゃんとFFTも取るようにして両方活用したのが特徴です。
ならコメントにそう書いてアピールしろと言われそうですが、他の作品でも修正しているのはほとんど無いのでどうでも良いんじゃないかと(笑)
もう1つはWebGL SAKURA
単純に今ならこれ系やるならWebGLっしょ!的な代物。
POINTなので回転はシェーダーで適当に座標変換。
花びらの形はdistance fieldで計算してて、距離に応じて0付近をグラデーションにしてDOFっぽくしてみた。
フェイクでもDOFがあるだけで素敵な見た目になるなぁと自画自賛。
このWebGL SAKURA、どうも海外の人の受けが良いようで、投稿後すぐにWebGL.comというところに補足されてた。
その後日本の人にツイッターでつぶやかれたのもあって、だいぶ落ち着いてきた現状で6000以上のビュー数に。
本気で目を疑った(笑)
とてもありがたいことだけれど。

と、とりあえず今回はこんなところで。

iphone_dev_jp 東京iPhone/Mac勉強会

2012年04月15日 06時07分04秒 | プログラミング
iphone_dev_jp 東京iPhone/Mac勉強会へ行ってきた。
こういういわゆる勉強会、という感じの集まりに行ってみたのは初めて。
当日のトゥギャリはここ
またスライドなどはまとめて下さったかたがいるのでそっちを見てもらえれば良いかと。
このあたりは他力本願で。以下感想。

@5mingame2さん C++とOpenGL ES 1.1の話
GEOSPOTというゲームをマルチプラットフォームで開発した話。
PC系はGLUT+OpenALで、iOSはGLUTの代わりにEAGLViewのようす。
VisualStudioを考慮してUTF-8 BOM付きにするとか、x64もあるからlongの長さに注意とか。
それぞれのIDEでプロジェクトにファイルを追加するのが面倒なのでゲームの実装はほとんどヘッダーに書いたとか。
コンパイル時間がすごそうだ。

@kamiyanさん ibisPaint の OpenGL ES 2.0
スライド
ibisPaintというペイントアプリの話。
レイヤー毎にFBOになっているとか。
UI関連も全てGLで描画している(!)とかで、カラーピッカーも頂点カラーで描けて便利とか。いやいや。
ただ一部シェーダーの計算誤差が目立つものがあったので、CPUで処理するようにした部分もあったらしい。
ゲームや3D関連のツール以外でOpenGLを使っている実例は珍しいと思う。

@cocoponさん キーボードで完結!ハイスピードXcodeコーディング
スライドとチートシート
これはとりあえず上記を見れば一目瞭然。
エディタ分割厨なので超俺得。

@nakamura001さん Unity恐くないよ!!
スライド
Unityのざっくりとした紹介。
あとTerrainのデモ。
紹介されてたUnityさんのコレオレ動画集GDC 2012: Unity Show Reelを観るとあらためてやっぱすごいなと。
ところでShadowはモバイルでは使えなかったはずだけどiPhone/Mac勉強会だから良いのか。

@yopita_さん Mac でかんたん Kinect
MacでKinect使おうという話。
Kinect for PCはOpenNIがまだ対応してないから360用を用意しましょうと。
そしてProcessingでOpenNIのデモ。
デプス画像をだして人の認識とかやるのを実際に見たのは初めてだったのだけど、それだけで面白そうで大勢の人が夢中になるのがよくわかった。
それからネタをやる時には恥ずかしがったら負けだということも。
(」・ω・)」うー!(/・ω・)/にゃー!

@akisutesamaさん
・Unity Asset Server使ってみた
・Unity Asset Server+Jenkins
・Unity Cache Server
・Core Animation
・Blocks
・NSURLConnection

説明に使ったサンプルコード
その場で聴衆に聞いて内容を決めるという異色の展開。またそのプレゼンの勢いは今回最高(笑
で、CoreAnimationはKeyframeAnimationの話。
アニメーションを設定したViewのactionForLayer:forKey:のオーバーライドを忘れずにと。
Blocksはデバッグしにくいので扱いに気をつけようという話。
NSURLConnectionはCFNetworkも比較に持ち出したりしつつ、タイムアウトが設定されているのかどうかなど。
NSURLConnectionは勝手に設定されたことが変更できなかったりするので、自分でソケット開いたりしたほうが良い場合もあるから使い分けよう。という解釈でいいのだろうか。
ちまたのライブラリはNSURLConnectionをラップしただけだったりするので注意とか。
結局いまのところASIHTTPRequestが安牌らしい。
Blocksの話はその場でblocksをcopyするべきかしないか、引数でどんなものを渡すべきか、と突っ込みが入って面白い展開に。
とりあえず積ん読になっているエキスパートObjective-Cプログラミングを読まないといけないなと。

@novi_さん CoreText のはなし
スライド
CoreTextについてまとめられたとてもアツイ話。とりあえずスライドを見るべし。
結局きれいに画面に出すにはAttributedStringをいかにきれいに作るか、になるんじゃないかとのこと。
スライドの中にあるATSUIのpdfはリファレンスとしてはもう役に立たないけれど、テキストレンダリングの読み物として面白いので読んでみると良いそうだ。
WebArchiveにしか残ってないらしいけれど。
禁則処理はどうなるのかという質問があって、それはCoreTextが適当に処理してくれるらしい。
言い方を変えると好きなようには設定できないそうだ。
LTCoreTextというライブラリでHTMLでマークアップされたテキストを表示するデモはきれいだった。

@sonson_twitさん iCloud
説明に出て来たサンプル1サンプル2
悲しみが満ちあふれているらしいiCloud Containerについての話。
内容が非常に多かったのでスライドが上がってくれればそれを読んだほうが良いかと。
まずNSFileManagerに追加されたiCloud用のメソッドを使ってURLを取得。
そのURLをNSFileCoordinatorを使って開いて操作するらしい。
そしてそのファイルはNSFileVersionでバージョン管理されることになるそうだ。
という中で、URL取得のためのメタデータ収集のクエリは止めない限り止まらないとか、取得したものしか更新通知がこないとか、ダウンロードを開始したファイルの終了通知が存在しないとか色々な悲しみが広がっているそうな。
なので、UIDocumentとUIManagedDocumentというこの辺をラップしたものがあるからそっちを使いましょうと。
それでもファイルのバージョンのコンフリクトの解決とかやることは相当あるようす。
サンプルも見かけの割に結構な分量あるし。
結局、君もiCloudのコードを書いて人柱になってよ!という結論かと(笑
またあとで本を書くそうなので、それをお楽しみにとのこと。

fladdictさん マルチタッチで移動!回転!拡大!
サンプル
マルチタッチでViewを移動、回転、拡大縮小させる実装の解説。
これはサンプルを見るのが手っ取り早いかと。

@monsukeさん プロモコード配布サービス PromoBook について
PromoBookの解説。
PromoBookとやらの使い方はこんな感じ
要はプロモコード余ってるなら有効活用しましょうという話。

@umekun123さん App Store内のSEO最適化について調べてみた
内容はこのブログの記事とだいたい一緒。
なので読むのが早い。

以上です。
とても濃い話が聞けて楽しかったです。関係者の方々ありがとうございました。

あとこういう形式の勉強会は懇親会にも行った方がいいなと思った。