元記事:blender.org - Boids particles systems
Boids Physics システムは、基本的なルールにしたがって振舞う、人工知能に近い物を設定できます。様々な動物や昆虫、魚などの群れをシミュレートするのに便利です。
Boid の人工知能は一度に一定量の情報しか処理できないため、考えうる実行可能な行動は一つのリスト内に簡単に収まります。
Boids システム用の Physics パネル
ルールはリストの上から下に解析され(そのため、明示的に優先度を設定与えるため)、順序をそれぞれの列の前にある小さな三角形で変更可能です。ルールのリストでは以下が使用できます。
[wiki]-''Collision'': Deflector オブジェクトを回避します
-''Avoid'': Predator(捕食者)を回避します
-''Crowd'': 他の Boid を回避します
-''Center'': 群れの中心に移動します
-''AvVel'': 平均速度を維持します
-''Velocity'': 近辺にいる Boid と速度を合わせます。
-''Goal'': ゴールを探します
-''Level'': Z軸のレベルを保ちます
それぞれのルールは独立して重み付けできます。この値は、与えられたルールを Boid がどれだけ考慮しようとするかを示す物とみなすことができます(1.000で Boid はそのルールに夢中になり、0.000で無視します)。もし Boid に同時に二つ以上のルールの衝突が起こった場合、すべてのルールのそれぞれの重みを考慮し、それに従って実行しようとします。すべてのルールは重要性を増す、もしくは減らすために-1.000から+2.000の重みを付けることができます(デフォルト値:0.500)。
-通常の挙動が期待できるのはウェイトが0.000から1.000の間です。
-値が1.000〜2.000では、Boid はそのルールに従い過反応になります。
-値が-1.000〜0.000では、Boid はそのルールと反対の反応を示します。
Boid はできるだけ多くの与えられたルールに従おうとしますが、むしろ、場合によってはいくつかのルールを他より優先的に処理しようすることに注意して下さい。
例えば、犠牲になるのを回避するため、Boid はおそらくCollision や Crowd、Center といったルールを「忘れる」ことがあります。つまり「パニック中」となり、たとえ何も指示されていなくても、たいていの場合、よく障害物にぶつかったりするでしょう。
最後の注意として、Collision のアルゴリズムはまだ完全ではなく、作業進行中であるため、いくつかの場合に間違った挙動をすることを想定しておいた方がいいでしょう。これについては調査中です。
[/wiki]
[wiki]-''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 値が使用されます。
[/wiki]
Newtonian Particle と非常によく似ており、Boid はアニメータの必要に応じ、周囲の Deflector と Field に反応します。
[wiki]-''Deflection'': Boid が Collision ルールのウェイトに応じて、Deflector オブジェクトを回避しようとします。凸面がもっとも上手く動作します(凹面については作業が必要です)。[/wiki]
Boid Physics用に、他から見える Field をオブジェクトが持つ方法として、Spherical Field を設定します。(Object もしくは Particle システム上の)負の Spherical Field は捕食者を他の Boid Particle システムへ向かわせ、正の Field は他のすべての Boid Paritlce システムのゴールとなります。
Particle システムが設定されているオブジェクトを選択した時、Physics Buttons の Fields パネルに、Field を適用すべきエミッタオブジェクトもしくは Particle システムを示す、小さなメニューが表示されます。もし餌 Particle を捕食者 Particle から逃がしたいのであれば、Particle システム名を選択する必要があります。
[wiki]-''Spherical fields'': これらの Effector は Avoid や Goal のルールに従い、Boid が回避しようとする捕食者(負のStrength)、もしくは Boid が到達しようとするターゲット(正の Strength)となることができます。Spherical の影響の強さは実際の該当する Weight に乗じたものになります(例:Strength も Goal も0の場合、Boid の群れは正の Spherical Field を追いかけません)。[/wiki]
また、[Die on Hit](Extras パネル)を ON にすることで、シンプルに餌 Particle が捕食者 Particle に襲われた時に消すことができます。
現在、このシステムは複雑な関係はできません(例:あるシステムの餌でありながら、他のシステムにとっては捕食者であるなど)。しかし、これは Particle が適切に Python 化されれば、可能になるでしょう。
Boid 実行中のビデオサンプル
Boid が群れの挙動を作成する助けとなることについてのサンプルとして、以下のビデオをご覧下さい。
[wiki]-[[サンプルビデオ:http://fr.youtube.com/watch?v=GUkjC-69vaw]]
-[[Prey - Predator(餌―捕食者)ビデオ:http://download.blender.org/demo/movies/boids_prey_predator.avi]] - [[blend ファイル:http://download.blender.org/demo/test/2.46/boids.blend]][/wiki]
餌―捕食者の関係を表現するチュートリアル
以前に強調したように、Boid を使用することで、簡単に餌/捕食者のような挙動のあるアニメーションを設定できます。これらのケースでは、負の Strength の(捕食者を反発する)、もしくは正の Strength の(餌をひきつける)Spherical Field を使用することが非常に簡単で効果的です。さらに、[Die on Hit]ボタン(Extras パネル内)を使用することも、捕食者の Particle への到達に成功した時に便利だということが判明しています。
[wiki]-[[Boids Pariticle を使用した餌―捕食者の関係の設定:http://feeblemind.tuxfamily.org/dotclear/index.php/2007/12/28/106-setting-a-prey-predator-relationship-using-boids-particles]][/wiki]
参考となる文書
以下の論文は、Boid のパイオニアである Craig Reynolds氏の物です。
[wiki]-[[Boids:http://www.red3d.com/cwr/boids/]]
-[[Flocks, Herds, and Schools: A Distributed Behavioral Model:http://www.cs.toronto.edu/%7Edt/siggraph97-course/cwr87/]][/wiki]
元記事:blender.org - Boids particles systems
Boids Physics システム
Boids Physics システムは、基本的なルールにしたがって振舞う、人工知能に近い物を設定できます。様々な動物や昆虫、魚などの群れをシミュレートするのに便利です。
Boids の挙動
Boid の人工知能は一度に一定量の情報しか処理できないため、考えうる実行可能な行動は一つのリスト内に簡単に収まります。
Boids システム用の Physics パネル
[wiki]-''Collision'': Deflector オブジェクトを回避します
-''Avoid'': Predator(捕食者)を回避します
-''Crowd'': 他の Boid を回避します
-''Center'': 群れの中心に移動します
-''AvVel'': 平均速度を維持します
-''Velocity'': 近辺にいる Boid と速度を合わせます。
-''Goal'': ゴールを探します
-''Level'': Z軸のレベルを保ちます
それぞれのルールは独立して重み付けできます。この値は、与えられたルールを Boid がどれだけ考慮しようとするかを示す物とみなすことができます(1.000で Boid はそのルールに夢中になり、0.000で無視します)。もし Boid に同時に二つ以上のルールの衝突が起こった場合、すべてのルールのそれぞれの重みを考慮し、それに従って実行しようとします。すべてのルールは重要性を増す、もしくは減らすために-1.000から+2.000の重みを付けることができます(デフォルト値:0.500)。
-通常の挙動が期待できるのはウェイトが0.000から1.000の間です。
-値が1.000〜2.000では、Boid はそのルールに従い過反応になります。
-値が-1.000〜0.000では、Boid はそのルールと反対の反応を示します。
Boid はできるだけ多くの与えられたルールに従おうとしますが、むしろ、場合によってはいくつかのルールを他より優先的に処理しようすることに注意して下さい。
例えば、犠牲になるのを回避するため、Boid はおそらくCollision や Crowd、Center といったルールを「忘れる」ことがあります。つまり「パニック中」となり、たとえ何も指示されていなくても、たいていの場合、よく障害物にぶつかったりするでしょう。
最後の注意として、Collision のアルゴリズムはまだ完全ではなく、作業進行中であるため、いくつかの場合に間違った挙動をすることを想定しておいた方がいいでしょう。これについては調査中です。
[/wiki]
Boids Physics パネルパラメータ
[wiki]-''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 値が使用されます。
[/wiki]
Boid、Deflector、Effector
Newtonian Particle と非常によく似ており、Boid はアニメータの必要に応じ、周囲の Deflector と Field に反応します。
[wiki]-''Deflection'': Boid が Collision ルールのウェイトに応じて、Deflector オブジェクトを回避しようとします。凸面がもっとも上手く動作します(凹面については作業が必要です)。[/wiki]
Boid Physics用に、他から見える Field をオブジェクトが持つ方法として、Spherical Field を設定します。(Object もしくは Particle システム上の)負の Spherical Field は捕食者を他の Boid Particle システムへ向かわせ、正の Field は他のすべての Boid Paritlce システムのゴールとなります。
Particle システムが設定されているオブジェクトを選択した時、Physics Buttons の Fields パネルに、Field を適用すべきエミッタオブジェクトもしくは Particle システムを示す、小さなメニューが表示されます。もし餌 Particle を捕食者 Particle から逃がしたいのであれば、Particle システム名を選択する必要があります。
[wiki]-''Spherical fields'': これらの Effector は Avoid や Goal のルールに従い、Boid が回避しようとする捕食者(負のStrength)、もしくは Boid が到達しようとするターゲット(正の Strength)となることができます。Spherical の影響の強さは実際の該当する Weight に乗じたものになります(例:Strength も Goal も0の場合、Boid の群れは正の Spherical Field を追いかけません)。[/wiki]
また、[Die on Hit](Extras パネル)を ON にすることで、シンプルに餌 Particle が捕食者 Particle に襲われた時に消すことができます。
現在、このシステムは複雑な関係はできません(例:あるシステムの餌でありながら、他のシステムにとっては捕食者であるなど)。しかし、これは Particle が適切に Python 化されれば、可能になるでしょう。
外部リンク
Boid 実行中のビデオサンプル
Boid が群れの挙動を作成する助けとなることについてのサンプルとして、以下のビデオをご覧下さい。
[wiki]-[[サンプルビデオ:http://fr.youtube.com/watch?v=GUkjC-69vaw]]
-[[Prey - Predator(餌―捕食者)ビデオ:http://download.blender.org/demo/movies/boids_prey_predator.avi]] - [[blend ファイル:http://download.blender.org/demo/test/2.46/boids.blend]][/wiki]
餌―捕食者の関係を表現するチュートリアル
以前に強調したように、Boid を使用することで、簡単に餌/捕食者のような挙動のあるアニメーションを設定できます。これらのケースでは、負の Strength の(捕食者を反発する)、もしくは正の Strength の(餌をひきつける)Spherical Field を使用することが非常に簡単で効果的です。さらに、[Die on Hit]ボタン(Extras パネル内)を使用することも、捕食者の Particle への到達に成功した時に便利だということが判明しています。
[wiki]-[[Boids Pariticle を使用した餌―捕食者の関係の設定:http://feeblemind.tuxfamily.org/dotclear/index.php/2007/12/28/106-setting-a-prey-predator-relationship-using-boids-particles]][/wiki]
参考となる文書
以下の論文は、Boid のパイオニアである Craig Reynolds氏の物です。
[wiki]-[[Boids:http://www.red3d.com/cwr/boids/]]
-[[Flocks, Herds, and Schools: A Distributed Behavioral Model:http://www.cs.toronto.edu/%7Edt/siggraph97-course/cwr87/]][/wiki]
元記事:blender.org - Boids particles systems
投票数:89
平均点:10.00
Blender2.46 Newtonian Particle Physics |
Blender機能別 |
Blender2.46 Particle Visualization |
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki