元記事:Bullet Physics


Bullet による物理計算



Bob Holcomb 氏著


新しい Bullet 物理エンジンが Erwin氏により Blender に組み込まれ、game engine 内で剛体物理シミュレーションが可能になりました。このエンジンは Object の落下や回転、他の Object との衝突を、現実の法則に従い行います。開発中の物ですが、現時点でも十分使用可能です。

1 2

3 4



Clear Rotation と Apply Rot/Size


シミュレーションに使用されるそれぞれの Object に対し、まず最初に 'Clear Rotation'([Alt]+[R])と、その後に 'Apply Size/Rot'([Ctrl]+[A])を ObjectMode で行う必要があります。これをしなければ、衝突判定が正しく行われず、変な結果になります(例:Object が Plane と接触した瞬間に爆発するように反応するなど)。(注:あとで自分で回転sしなおすこともできます)。この作業はリリース作業が完了した後で見つかったバグにより必要となったものです。


シミュレーションの焼付け(Bake)


Simulation Baking
この物理エンジンはゲーム専用というわけではありません。一度シミュレーションを実行しすれば、それを Ipo(Blender アニメーション Curve) に焼き付け、レンダリングや修正することができます。Game メニューのこの機能を有効にすると、それぞれの Object の移動と回転は Ipo に記録されます。この機能により、複数の Object 間のリアルな衝突や落下のアニメーションが、すばやく正確に作成できます。

Ipo の作成には、ユーザが物理シミュレーションのための Scene を設定しなければなりません。これには Actor として影響を受け、Attribute が設定されたそれぞれの Object の認識も含まれます。まず、"Record Game Phiysics to IPO" オプションを、Game メニューからチェックし、Game メニューの "Start Game"、もしくは3DWindow 上で[P]キーを押して game engine をスタートします。シミュレーション実行中、毎回 Object の動きが Ipo に記録されます。

Ipo データをクリアするには、"Record Game Physics to IPO" のチェックをはずし、シミュレーションをもう一度実行して下さい。

ここに Elusiun.com に投稿された MrFranz 氏のビデオチュートリアルがあります。(訳注:当サイトの記事はこちら)


設定


Bullet 物理エンジンを有効にするには、WorldButtons([F8])の "Stars, Mist, Physics" パネルから(リストボックスを)選択する必要があります。

また、重力定数も設定可能です。Bullet の物理エンジンはこの値を、World 内の Object が落下するスピードを決定するのに使用します。



Actor


物理シミュレーションで作用させたい Object ごとに、LogicButtons([F4])の Actor をONにする必要があります。まず Object を選択し、LogicButtons([F4])に入ります。Actor ボタンを押せば、物理エンジンによるシミュレーション内でその Object が有効になります。




Bounding Shape(バウンディング形状)


また、物理エンジンに使用される、Object のバウンディング(境界)形状を決定する方法がいくつか選択できるようになりました。テニスボールのバウンディング形状は Sphere で、木箱は Box にするのが簡単です。より複雑な Object には、Concave Mesh(凹 Mesh)や Convex Polytope(凸ポリトープ)が使用されるでしょう。


サンプルファイル
こちらに、いくつかの箱とボールによるサンプルがあります。


元記事:Bullet Physics
Last update: Dec 23 2005.
This section is maintained by Ton Roosendaal.