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

Preview:

DESCRIPTION

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

Citation preview

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

Cocoa部 おさむ

TechBuzz 第4回cocos2d-x勉強会

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

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

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

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

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

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

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

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

物理演算してますか?

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

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

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

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

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

Angry BirdsBADLAND

爆走!鬼畜トロッコ

Box2Dを使った名作たち

超おすすめ

救世主が現れた

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

LiquidFun

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

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

• Box2Dの上位互換

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

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

ということはつまり……

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

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

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

パーティクル

LiquidFunのパーティクル

• 色を持つ

• 寿命を持つ

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

• 流体の性質を決めるflag

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

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

パーティクル(単体)

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

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

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

デモ

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

詳細はWebで

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

Recommended