Download - さくっと流体演算 ~LiquidFunのすすめ~
さくっと流体演算 ~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 = ▭particleSystem->CreateParticleGroup(pgd);
パーティクル(グループ)
デモ
Cocos2d-xで使うには どうしたらいいの?
詳細はWebで
ご清聴ありがとうございました