BulletをMac OS X(Xcode)で用いる

オープンソースの物理エンジンBulletをXcodeで用いるときにちょっと手こずったので。
「Bullet Xcode」なんかでぐぐるといくつか出てきますが、それぞれでやり方が微妙に違ったりするので、個人的に一番簡単だと思った手順を下記にまとめておきます。

  • 下準備

ビルドにCMakeのコマンドライン版を用いるので事前に使えるようにしておいてください。Homebrewなどのパッケージマネージャーを用いてインストール、あるいは、CMakeのGUI版があるならそれ経由でインストールも可能です。CMakeのGUI版は過去にインストールしたけどコマンドライン版は使えないなー(cmakeコマンドが効かない)という方は下記をターミナルで入力してください。

PATH="/Applications/CMake.app/Contents/bin":"$PATH"
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

CMake(GUI版)の”Tools”->”How to Install For Command Line Use”メニューの記述がソースです。気になる方は確認してみてください。
さて、これで下準備は完了です。


  • Bulletのダウンロード

さて、まずはBulletをダウンロードしないと何も始まりません。

https://code.google.com/archive/p/bullet/downloads

上記サイトからUnix用のものをダウンロードして、適当なフォルダで展開しておいてください。
(執筆時の最新版は「bullet-2.82-r2704.tgz」です)

 

  • Bulletのビルド

次はビルドをします。CMakeでやると簡単だよーという記述があったのでCMakeを用います。今回はビルド後にXcodeプロジェクトに組み込みやすいように、BulletをFrameworkディレクトリとしてライブラリ化します。

上記手順でダウンロード後に展開したフォルダ名を「bullet-2.82-r2704」とします。
下記をターミナルで入力してください。

cd bullet-2.82-r2704
mkdir bullet-build
cd bullet-build
cmake .. -G "Unix Makefiles" -DINSTALL_LIBS=ON -DBUILD_SHARED_LIBS=ON -DFRAMEWORK=ON \
   -DCMAKE_OSX_ARCHITECTURES='i386;x86_64' -DCMAKE_BUILD_TYPE=RelWithDebInfo \
   -DCMAKE_INSTALL_PREFIX=/Library/Frameworks -DCMAKE_INSTALL_NAME_DIR=/Library/Frameworks \
   -DBUILD_DEMOS:BOOL=OFF
make -j4
sudo make install

途中、少し時間がかかるかもしれません。気長に待ちましょう。
しばらくして全ての処理が完了したらルートディレクトリのLibrary/Frameworksを見てみましょう。

ls /Library/Frameworks/

とやって、そこにBullet〜系のフレームワークとLinearMath.frameworkが生成されていれば完璧です。

 

  • 自分のXcodeプロジェクトに導入する

Bulletをフレームワークとして用いることができるようになったので、あとはそれを自分のプロジェクトに導入すれば終了です。
Xcodeのプロジェクト設定画面を開いて、Build Phase -> Link Binary With Libraries の項目に先ほど生成したFrameworkを追加するわけですが、ここでのデフォルトのパスが先ほどインストールした/Librari/Frameworksではなく、/System/Library/Frameworksになっているため、普通に検索したのでは出てきません。

open /Library/Frameworks/

などとやって、Finderで開いたのちにドラッグ&ドロップしてください。
スクリプトでは下記のファイルをインクルードするようにしてください。

#include <BulletDynamics/btBulletDynamicsCommon.h>

はい、これでXcodeでもBulletを用いることができます。


参考にさせていただいたサイト
http://bulletphysics.org/mediawiki-1.5.8/index.php/Installation
http://lv4.hateblo.jp/entry/2014/02/05/095646
http://blog.livedoor.jp/homuerio/archives/15360956.html


先日、渋谷WWWで行われた酸欠少女さユりさんの2ndワンマンライブ「ミカヅキの航海」を観に行きました。演出、演奏、歌、MC、なにからなにまで最高でした。すべて細かく書きたいところですが、今回の記事以上に長くなってしまうかもしれないのでひとまず堪えます。

いやーーーーー、是非また行きたい!!!!

そう思える素敵なライブでした。ありがとうございます。

さユりさん応援してます。これからも頑張ってください。


コメントを残す