トップ  >  1. Blenderリリースノート翻訳  >  Blender機能別  >  Blender2.46 Boid Particle Physics
元記事: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
プリンタ用画面
友達に伝える
投票数:13 平均点:10.00
前
Blender2.46 Newtonian Particle Physics
カテゴリートップ
Blender機能別
次
Blender2.46 Particle Visualization

クイックリンク

2013/11/15版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- オープンプロジェクト
- 公式ストア

●マニュアルなど
公式マニュアル(途中)
JBDP2.5 Wiki
CGRad Project
Project-6B(6B計画)

●チュートリアルなど
公式チュート等
その他チュートリンク集
公式動画チュートリアル
Blender Cookie
Blenderで3DCG制作日記
BlenderVideos.com
Blender 3D: Noob to Pro
blenderguru

●日本語コミュニティ
Blender@2ch
BLUG.JP(FBページ)
(BLender User Group of JAPAN)

-旧BLUG.JP
-blugjpまとめ
ぶれんだちゃん*(ツイッター)

●実写合成(日本語)
CGCompo

●合成エフェクト(日本語)
tomo@web

●Cycles
Blender Cycles memo

●Freestyle(日本語)
公式マニュアル
使用例
スザンぬクラブ

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org
- フォーラム
- 記事検索
- New feature tests
- Model Repository

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Graphicall.org(非公式)
Buildbot(自動生成)

●開発関連
開発情報
開発ドキュメント
公式開発ブログ
Blender開発者サイト
- バグトラッカー
- 旧バグトラッカー(閲覧用)
- パッチトラッカー
- 旧パッチトラッカー(閲覧用)
SVNコミットログ

●GameBlender
公式マニュアル
専用API
バグトラッカーなど
旧バグトラッカー(閲覧用)
Bullet 物理演算ライブラリ

●外部レンダラ
YafRay
LuxRender 私家版資料
Mitsuba

●アドオン
公式スクリプトカタログ
BlenderArtists::python & plugins

●アドオン開発
最新 PythonAPI
Python Japan User's Group

●モデル&マテリアル
Blender Model Repository
Kator Legaz 3D Model
Blend Swap
blender-materials.org

●日本語化・翻訳サイト
Blender日本語化関連(blugjpまとめ)
日本語化の設定(2.4xのみ)

●2.4x用スクリプトとAPI
公式(日本語:下側参照)
L-System(2.5以降は同梱)
Python API リファレンス(2.4x用)

2.4x以前ではPythonフルセットが別途必要になることがあります。
旧Pythonバージョン

●2.4x用プラグイン(Python以外)
Blender Plugin Repository

ログイン

ユーザ名:

パスワード:



パスワード紛失