2009/12/07

SIO2 - tips

SIO2 を使って iPhone プログラムを開発する時の豆知識がいくつか溜まってきたので書きます。



Bounds はできるだけ box にする
Blender の Logic panel では物体の物理シミュレーション関連の設定ができます。物理シミュレータからみた物体の形状(Bounds) を Triangle Mesh や Convex Hull にすると、よりポリゴンの形に即したシミュレートができますが、その代わり必要な計算が増えて遅くなります。

例えば、簡単な坂を作りたい時は、直方体を傾けたメッシュを作って Bounds: Triangle Mesh にする代わりに、Axis-aligned な直方体メッシュを作って Bounds: Box にし、オブジェクトを傾けると良いです。



「ディスティネーショングループのフォルダに項目をコピーする」のチェックを外す
Xcode で Blender からエクスポートした sio2 ファイル(例えば Scene.sio2)をプロジェクトに追加する際、上記チェックボックスをオフにします。オンにすると、今ある Scene.sio2 がプロジェクトと同じフォルダにコピーされ、以降それが参照されてしまうため、オリジナルの Scene.sio2 への更新が反映されなくなってしまいます。
ハマリ1時間くらい。



library not found for -lstdc++-static が出る場合
SDK 3.1.2 にしたら出ました。以下の対策でビルドが通りました。

(1) Set the C++ Standard Library Type to Dynamic
(2) Add this in the C/C++ Compiler Flags: -fno-regmove -Wno-write-strings -falign-loops=16 -fvisibility=default

ビルドの件に関してはこのスレッドを参考にしました。