参考
Blender.jpの記事:http://blender.jp/modules/xfsection/article.php?articleid=217
Boidのチュートリアル(英語):http://users.xplornet.com/~gimble/blender/tutorials/jahka/boids/boids.htm
http://feeblemind.tuxfamily.org/dotclear/index.php/2007/12/28/106-setting-a-prey-predator-relationship-using-boids-particles
はじめに
Blender2.48aの使用を前提とします。
Blender.jpの記事(上記)を読み、Blenderのツールチップを日本語化しておくことをお勧めします。
値の指定がない場合は、基本的にデフォルト値とします。
発生源を作る
パーティクルの発生源を作成、設定します。
・平面オブジェクトを作成します。
・オブジェクト(F7)、パーティクルボタンを押し、
新規作成します。パーティクルのタイプはEmitterです。
・Particle Systemタブ
Basic:
Amount:100 パーティクルの数
Sta:1.0 発生開始フレーム
End:20.0 発生終了フレーム
Life:250.0 パーティクルの寿命
Rand:0.0 寿命のばらつき
とします。
・Physicsタブ
Newtonian→Boidsに変更
・MaxVelocity: 最大速度
・AvVelocity:
最大速度に対する通常速度の比率。もし MaxVelocity が10.000で、AvVelocity が0.300である場合、その Boid
の平均速度は3.000になります。
・LatAcc:
最大速度に対する横方向の加速度の比率(ターン)。Boid が方向をどれぐらい速く変更できるかを決定します。
・TanAcc: 最大速度に対する接線加速度(前方向)。Boid
がルールを遂行するために、どれぐらいすぐに加速できるかを決定します。
・Banking: Boid
ターン時のバンク(傾き)角(1.0でニュートラル)
・MaxBank: Boid
が1ステップに傾くことのできる角度です。
・N: それぞれの Boid
について、仲間とみなす数です。
・2D: Boid を表面に拘束します。(OB
フィールドに指定されていれば)与えられたオブジェクトの表面、もしくは任意のZ値(GroundZ)のいずれかに移動が制限されます。地面にいる群れをシミュレーションする時などに便利です。ON
になっている場合、Level、Banking、MaxBank が無視されます。
・GroundZ:
デフォルトの Z 値
・OB: Boid
が拘束される表面を持つオブジェクトです。
・もし Boid
の軌道がオブジェクトの表面から外に出た場合、GroundZ 値が使用されます。
∧∨ ボタンがありますが、これはルールの優先度らしいです。
今回は
Goal:0.8
Crowd:0.8
Center:0.5
AvVel:0.5
Velocity:0.5
Avoid:0.0
Collision:0.0
Level:0.0
2Dボタン:OFF
MaxVelocity:10
AvVelocity:0.5
その他デフォルトのまま
とします。
とりあえずBake
とりあえずBakeしてみましょう。
・オブジェクト(F7)>パーティクルボタン>BakeタブのBakeボタンを押してください。
点が平面から飛び散って広がっていくと思います。
これでパーティクルの発生源は完成です。
Deflector
Deflectorと作成します。
・UV球を作成
・平面オブジェクトと少し距離を離します。
・オブジェクト(F7)、Physicsボタン(真ん中)
そこのFieldsタブでShyericalを選択します。
Strengthの値を+10位に設定します。
これで終了です。
Bake
Bakeしましょう。
平面オブジェクトを選択して、BakeパネルのBakeボタンを押してみましょう。
UV球にパーティクルが襲い掛かっているはずです(笑)