Box2D


2D 専用物理エンジン ” Box2D ” とは

ブリザード・エンターテインメントのプログラマ Erin Catto によって VC++ で作られたライブラリで、GDC 2006 に「 Box2D Lite 」がデモ版として初めて公開された後、2007 年に Sourceforge でオープンソースとして正式公開されました。2008 年の IGF ( Independent Games Festival )グランプリ受賞作でもある「 Crayon Physics Deluxe 」や多数商業作品でも利用されています。

Box2D_logo

Box2Dを使った戦車の動作デモ

物体の動きを簡易再現するシミュレータで、与えられたパラメータ(質量・速度・摩擦)から現象を擬似的に再現します。パラメータの指定には MKS( meters-kilograms-seconds )( メートル、キログラム、秒)が使用され、シミュレーション精度はオブジェクトサイズが約 0.1 〜 10 メートル、このサイズのオブジェクトを比較的狭い有効範囲内で動作させる想定で作られています。

オープンソースプロジェクトとして zlib ライセンスで公開されているため誰でも自由に利用することができます。これまで多くのプラットフォームへ移植されてきた実績もあります。

  • Flash
  • Java
  • C#
  • Python
  • Delphi
  • Javascript
  • BlackBerry adaption
  • Tizen

 

ゲーム用途ではメジャーな二次元物理エンジンで定番とも呼ばれています。スマートフォンで大ヒットした有名ゲーム「 Angry Birds 」にも Box2D が利用されています。考え方の基本は剛体( Rigid body )で、剛体の概念を学ぶと Box2D の概念も頭に入りやすくなります。

  • 剛体には形があり変形しない

  • 剛体には重心がある

例えば CF2.5 ではオブジェクトの動作に Box2D を利用する場合、ホットスポットを剛体の重心としてみなしそれをオブジェクトの中心に定められています。剛体が回転する場合、この重心を軸として回転します。つまり CF2.5 ではホットスポットを重心としてオブジェクトは回転することになります。

CF2.5 Physics 8 Icons

CF2.5 Physics 8 Icons

なお CF2.5 では Box2D が提供する全ての機能を使えるという訳ではありません。オーサリングツールとしてユーザが簡単に使えるように工夫を凝らしながら、Box2D の機能を利用した Clickteam が独自のアレンジをして提供している「 Physics 」という各種プリセット動作に予めデフォルメされています。


>>次へ進む