オープンソースの物理エンジン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、なにからなにまで最高でした。すべて細かく書きたいところですが、今回の記事以上に長くなってしまうかもしれないのでひとまず堪えます。
いやーーーーー、是非また行きたい!!!!
そう思える素敵なライブでした。ありがとうございます。
さユりさん応援してます。これからも頑張ってください。