Chipmunk Physicsを試す(ビルドまで)



Chipmunkとはなんだ

物理エンジンというのは様々な言語で様々な実装がありますが。
一番有名なのはC++で実装され、今ではActionScriptJavaScriptなどに移植されているBox2Dだと思います。


そんな中、C言語で書かれた物理エンジン「Chipmunk」が良い感じです。
Box2Dを参考にして作られたそうで、さくさく動きます。


http://wiki.slembcke.net/main/published/Chipmunk
HPからムービーが見られるので一度見てほしい。

Chipmunkを使う

そこで使い勝手を調べるのとOpenGLの勉強のため、
ちょっとChipmunkを使ってみることにした。

まずはビルドまで。

Chipmunkをビルドする

大まかな流れは

  1. HPからChipmunkのソースをダウンロードする。
  2. ダウンロードしたソースを解凍する
  3. cmake、makeを使ってビルドする

という感じ。

ソースのダウンロード

HPの真ん中あたり、「Download」から最新のソース(ChipmunkLatest.tgz)をダウンロード。

解凍

は特に説明いらないと思う。

ビルド

これが若干はまった。

まずターミナルで解凍してできたディレクトリ(Chipmunk-4.1.0とか)に移動。
移動したディレクトリで、

cmake .

を実行。実行終了後,

make

を実行。これでビルドがうまくいくはず、と思いきや次のエラーが出た。

Linking C executable ../chipmunk_demos
ld: library not found for -lGL
collect2: ld returned 1 exit status
make[2]: *** [Demo/../chipmunk_demos] Error 1
make[1]: *** [Demo/CMakeFiles/../chipmunk_demos.dir/all] Error 2
make: *** [all] Error 2

OpenGLを使うためにGLライブラリをコンパイル時に指定してるけど、
GLライブラリが見つからないために起きてるっぽい。
でもMacてこの指定しなくていいんじゃね?と思い修正する。


修正するのは次のファイル。
/Chipmunk-4.1.0/Demo/chipmunk_demos.dir/build.make


このファイルに -lGL と書いてある部分が一箇所あるのでそれを削除。
ついでに -lglut という記述が近くにあるのでそれも削除。
-framework\ GLUT
とかになってたら、 \(バックスラッシュ) を削除。


そんな感じの修正をした後、もう一度makeコマンドを実行すると今度はDemoもビルドに成功するはず。
この部分は描画にOpenGLを使わない人には関係ない話だ。

Demoの実行

ビルドに成功するとChipmunk-4.1.0ディレクトリにchipmunk_demosという実行ファイルが生成される。
あとはターミナルから、

./chipmunk_demos

で実行する。

実行したら1-7のキーでいろいろなデモが見られて楽しい。


とりあえず今日はここまで。後でソース見てみる。