#author("2019-12-29T01:55:58+09:00","default:inoue.ko","inoue.ko") *物理シミュレーション ~ &color(red){Blender 2.8 からインターフェイスが大幅に変更されて、当サイトの内容は古くなっています。}; ~ Blenderには、優れた物理シミュレーションの機能があります。 とりあえず、簡単に実現できる3つの事例を紹介します。 ~ **Softbody ボールが床に落下するシーンを作成してみます。 1)Plane(床)とSheare(球) を置きます(ポリゴン数は少なめがいいでしょう)。 2)球を選択して プロパティーパネル > Physics > Soft Body を選択します。 -[Soft Body Goal] : OFF(チェックをはずす) -[Soft Body Edges] : ON --各種パラメータはそのまま --Bending の値を大きくします(0だとつぶれます)。 //[Soft Body Collision] : ON 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 ~ ~ - - - ~ ~ ~