物理シミュレーション
Blender Ver. 2.5
Blenderには、優れた物理シミュレーションの機能があります。
とりあえず、簡単に実現できる3つの事例を紹介します。
Softbody
ボールが床に落下するシーンを作成してみます。
1)Plane(床)とSheare(球) を置きます(ポリゴン数は少なめがいいでしょう)。
2)球を選択して
プロパティーパネル > Physics > Soft Body を選択します。
- [Soft Body Goal] : OFF(チェックをはずす)
- [Soft Body Edges] : ON
- 各種パラメータはそのまま
- Bending の値を大きくします(0だとつぶれます)。
3)床を選択して
プロパティーパネル > Physics > Collision を選択します。
以上で床が障害物となって、「球が床ではねる」という現象が実現できます。
タイムラインで再生ボタンを押すと動作が確認できます。
初回、パラメータ変更後はすべて再計算しますので時間がかかりますが、
2度目からは、スムーズに動きが確認できます。
Fluid
水のかたまりが円錐状の障害物の上に落ちる・・
という簡単なシーンを作成してみます。 事例として・・・・
- 大きな立方体 : シミュレーション領域(ドメイン)となります
- 球 : 水のかたまりとみなします
- 円錐 : 障害物をみなします
の3つのオブジェクトを置いて下さい。
球は円錐の真上、球と円錐は、立方体の内部に置かれるものとします。
1) 立方体を選択して
- プロパティーパネル > Physics > Fluid を選択します。
- TYPE を [Domain] にします。
2)球を選択して
- プロパティーパネル > Physics > Fluid を選択します。
- TYPE を [Fluid] にします。
3)円錐を選択して
- プロパティーパネル > Physics > Fluid を選択します。
- TYPE を [Obstacle] にします。
4)最後にDomain(立方体)を選択して
- Fluidパネル内の [Bake Fluid Simulation] を実行
流体の計算が開始され、フレームごとの形状データが出力ディレクトリに自動的に蓄積されます。タイムラインで再生ボタンを押すと動作が確認できます。
補足
- アニメーション設定の [Sta] - [End] までのフレーム分がBakeされます
- 出力ディレクトリは、デフォルトでは/tmp/となっています。
Macの方は/tmp/以外のフォルダに変える方がいいでしょう。
Particle
準備
シーンに、粒子の発生源となるメッシュを置いて、
プロパティーパネル > Particle System パネルで [ADD] します。
type は emitter を選択して下さい。
1)Emission(発光)パネルの各パラメータの数値を確認します。
Amount 飛び出す粒子の量(とりあえずそのままでOK)
Sta 粒子が発生しはじめるフレーム(とりあえずそのままでOK)
End 粒子の発生がとまるフレーム(とりあえずそのままでOK)
Life 粒子の寿命(とりあえずそのままでOK)
Random と Even Distribution は ON
2)Velocity(速度)パネルの数値を確認します。
Normal 面の法線方向に飛び出す力
X Y Z 方向それぞれに力をかけることができます。
3)Renderパネルの内容を確認します
Emitter が ON の場合、オブジェクト自体も描画されます。通常 OFF です。
TYPE は、Halo Line Object(要、対象の選択) などから選択できます。
4)Field Weightsパネルを確認します。
Gravity は重力です。デフォルトでは重力があるので、下へ落下します。
通常のパーティクル
とりあえず、ふつうのパーティクルを試してみましょう。
Physics パネルで Newtonian が選択されていることを確認したら、
動作確認(タイムラインで再生)してみて下さい。
粒子が飛び出す様子が確認できると思います。
例1. 雪
Tot : 1000 Random Life : 0
Norm : 0 Force Z : -0.05 Life : 75
※Totは全粒子の数、(End-Sta)が継続時間です。
例2. 炎
Tot Frames : 500 Random Life : 0.5
Norm : 0 Force Z : 0.3 Life : 25
例3. 花火
Tot Frames : 500 Random Life : 2
Norm : 0.1 Force Z : -0.1
Life : 30 Vector On / Size 1
※Sta = Endとすることで、すべての粒子が一斉に飛散します。
ボイドシミュレーション
鳥の群れが飛ぶようなシミュレーションができます。
Physics のタイプを Newtonian から Boid へ変更します。
鳥は飛びつづけますので、とりあえず Lifeは大きくして下さい。
動作確認してみて下さい。
通常のパーティクル(Newtonian)とは明らかに動きが異なると思います。
Render パネルで TYPE を Object にして鳥のオブジェクトなどを
指定すると、よりそれらしく見えます。
空間内にゴール(目標)やプレデター(捕食者・敵)を置いてみましょう。
エミッターから離れた場所に、Sphereを2つ置いてください。
1)一方の Sphereを選択して
プロパティーパネル > Physics > Force Fields を選択
TYPE を Force、 Strengthを - 側にすると、群れのゴールになります。
2)他方の Shere を選択して
プロパティーパネル > Physics > Force Fields を選択
TYPE を Force、 Strengthを + 側にすると、群れのプレデターとなります。
タイムラインで再生ボタンを押すと動作が確認できます。
参考 : Blender Wikiの情報が充実しています(日本語です)
- Cloth
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Physics/Cloth - Fluid
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Physics/Fluid - Particles
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Physics/Particles - Smoke
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Physics/Smoke - SoftBody
http://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Physics/Soft_Body