28
さくっと流体演算 ~LiquidFunのすすめ~ Cocoa部 おさむ TechBuzz 第4回cocos2d-x勉強会

さくっと流体演算 ~LiquidFunのすすめ~

Embed Size (px)

DESCRIPTION

先日Googleが流体演算をさくっと実装できちゃう素敵なライブラリLiquidFunをリリースしたので、Box2Dとの関連性とcocos2dxでの利用法を紹介したいと思います。 第4回Cocos2d-x勉強会 Cocoa部 おさむ

Citation preview

Page 1: さくっと流体演算 ~LiquidFunのすすめ~

さくっと流体演算 ~LiquidFunのすすめ~

Cocoa部 おさむ

TechBuzz 第4回cocos2d-x勉強会

Page 2: さくっと流体演算 ~LiquidFunのすすめ~

自己紹介• おさむ (@Osamu_shi)

• 京都大学理学研究科(絶賛休学中)

• もっぱらCocos2d-x、ときどきUnity

• 引きこもりの後輩とスマホゲーム作ってます

• iOS&Androidネイティブ開発、Web開発も

• ブログ「Cocoa部」 http://cocoabu.com

Page 3: さくっと流体演算 ~LiquidFunのすすめ~

「なんか発表してよ」って言われたので この5分間のために身銭を切って 東京までやって参りました

交通費……(́・_・`)

Page 4: さくっと流体演算 ~LiquidFunのすすめ~

物理演算してますか?

Page 5: さくっと流体演算 ~LiquidFunのすすめ~

従来よりCocos2d-xが採用している 物理演算エンジンたち

Page 6: さくっと流体演算 ~LiquidFunのすすめ~

Cocos2d-x 3.0から 組み込みの物理演算クラスが利用可能に

Page 7: さくっと流体演算 ~LiquidFunのすすめ~

あれ?オレたちの出番は……

Page 8: さくっと流体演算 ~LiquidFunのすすめ~

いや、組み込みの物理演算クラスって 中身はChipmunkですし ∑(゚д゚lll)

Page 9: さくっと流体演算 ~LiquidFunのすすめ~

実績あるすばらしきライブラリ Box2Dはいらない子なのか……?

Page 10: さくっと流体演算 ~LiquidFunのすすめ~

Angry BirdsBADLAND

爆走!鬼畜トロッコ

Box2Dを使った名作たち

超おすすめ

Page 11: さくっと流体演算 ~LiquidFunのすすめ~

救世主が現れた

Page 12: さくっと流体演算 ~LiquidFunのすすめ~

ちからが欲しいか……?Σ(゚Д゚)

Page 13: さくっと流体演算 ~LiquidFunのすすめ~

LiquidFun

Page 14: さくっと流体演算 ~LiquidFunのすすめ~

LiquidFunとは• 流体の複雑な動きを簡単に再現

• 2ヶ月前にリリースされたばかり

• Box2Dの上位互換

Page 15: さくっと流体演算 ~LiquidFunのすすめ~

Box2Dが動く環境なら、LiquidFunも動く →もちろんCocos2d-xでも利用可能

GDC2014ではCocos2d(for iPhone) を使ってデモが行われた

Page 16: さくっと流体演算 ~LiquidFunのすすめ~

ということはつまり……

Page 17: さくっと流体演算 ~LiquidFunのすすめ~

LiquidFunはCocos2d-xで使われることを想定して作られたに違いない!

ありがたく使わせていただきます(^q^)

Page 18: さくっと流体演算 ~LiquidFunのすすめ~

Box2DとLiquidFunは どこが違っているか?

Page 19: さくっと流体演算 ~LiquidFunのすすめ~

パーティクル

Page 20: さくっと流体演算 ~LiquidFunのすすめ~

LiquidFunのパーティクル

• 色を持つ

• 寿命を持つ

• 回転しない ←パフォーマンスUPのカギ

• 流体の性質を決めるflag

Page 21: さくっと流体演算 ~LiquidFunのすすめ~

パーティクルの作り方 (単体で作成)

//Particleの定義b2ParticleDef pd;pd.flags = b2_waterParticle;!//Particle作成for(int i=0; i<100; i++) { pd.position.Set(i, 0); particleSystem->CreateParticle(particleDef);}

Page 22: さくっと流体演算 ~LiquidFunのすすめ~

パーティクル(単体)

Page 23: さくっと流体演算 ~LiquidFunのすすめ~

パーティクルの作り方 (グループで作成)

//Shapeを作成b2PolygonShape rect;rect.SetAsBox(halfWidth, halfHeight);!//ParticleGroupを作成b2ParticleGroupDef pgd;pgd.shape = &rect;particleSystem->CreateParticleGroup(pgd);

Page 24: さくっと流体演算 ~LiquidFunのすすめ~

パーティクル(グループ)

Page 25: さくっと流体演算 ~LiquidFunのすすめ~

デモ

Page 26: さくっと流体演算 ~LiquidFunのすすめ~

Cocos2d-xで使うには どうしたらいいの?

Page 27: さくっと流体演算 ~LiquidFunのすすめ~

詳細はWebで

Page 28: さくっと流体演算 ~LiquidFunのすすめ~

ご清聴ありがとうございました