On this page |
このSOPでは、エージェントプリミティブの定義をディスクに簡単に書き出せるようにAgent ROPとAgent SOPを組み合わせました。 これは、SOPチェーン(例えば、Agent Clip SOPとAgent Layer SOP)の最後でエージェントを初期化するのに便利です。
エージェント定義を別々のファイルに保存するメリットについては、キャッシュ化のヘルプページを参照してください。
パラメータ
Load from Disk
入力エージェント、ディスク上のエージェント定義ファイルから読み込まれたエージェントのどちらを読み込むのか切り替えます。
Keep External References
エージェントプリミティブがディスク上のエージェント定義ファイルを参照すべきかどうかを指定します。
有効の場合、エージェントをジオメトリファイルに保存すると、エージェント定義は(自己完結型でも、より大きいジオメトリファイルを
生成する).bgeo
あるいは.geo
ファイルに埋め込むのではなく、エージェント定義ファイルへの参照のみを保存します。
Reload
エージェント定義を再読み込みします。
Agent Name
エージェントの名前。他のパラメータ値で$AGENT
ローカル変数を使ってエージェントの名前を参照できるように、このパラメータが便宜的に用意されています。
Cache Directory
エージェント定義ファイルの親ディレクトリ。他のファイル名パラメータで$CACHEDIR
ローカル変数を使ってそのディレクトリを参照できるように、このパラメータが便宜的に用意されています。
Save to Disk
エージェント定義ファイルをディスクに書き出します。
Create Intermediate Directories
必要に応じて出力ファイルの中間親ディレクトリを作成します。現在のところ、これは、生成されるスクリプト、画像、シャドウマップにのみ適用されます。
Rig
エージェントリグのファイル名。このリグファイルは、エージェントのトランスフォーム階層を記述したJSONファイルです。
Agent Layers
エージェントレイヤーファイルのファイル名パターン。
${LAYER}
ローカル変数を使用することで、そのファイル名にレイヤーの名前を含ませることができます。
Shape Library
エージェントシェイプライブラリ用のファイル名。
Clips
エージェントクリップファイルのファイル名パターン。
${CLIP}
ローカル変数を使用することで、そのファイル名にクリップの名前を含ませることができます。
Transform Groups
エージェントトランスフォームグループファイルのファイル名パターン。
${TRANSFORM_GROUP}
ローカル変数を使用することで、そのファイル名にトランスフォームグループの名前を含ませることができます。
Examples
The following examples include this node.
Formation Crowd Example Example for Crowd Solver dynamics node
変化する編成のセットアップを説明した群衆サンプル
このセットアップではエージェントの部隊を作成しています。ここでは2つのパスが作成されています。 部隊の中央部分から動き始め、2つの編成に分かれます。 1つが左側に、もう1つが前方に行進して、ゆっくりとその編成が、くさび形に変わります。
エージェントを編成内に維持させるために、独自のジオメトリ形状を使用しています。 その形状は、個々のエージェントに対してゴールとして使用されるポイントです。 その形状をブレンドシェイプさせることで、別の編成に変化させることが可能です。 crowdsourceオブジェクトの中に入って、その構造を確認してください。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Stadium Crowd Example Example for Crowd Solver dynamics node
スタジアムのセットアップを説明した群衆サンプル。
このセットアップは、スタジアムの群衆を作成します。 回転するcheer_bboxオブジェクトをエージェントの境界ボックスとして使用しています。 エージェントがそのオブジェクトの中に入ると、座っている状態から応援している状態へ推移します。 数秒後には、応援している群衆がまた座っている状態に戻ります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
Tip
群衆の一部だけをもっと高速にプレビューしたいのであれば、/obj/crowdsource/switch_all_subsectionにSwitchノードがあります。 そのスイッチを0に設定すると、すべてのエージェントが表示され、1に設定すると、一部のみが表示されます。
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
Note
アニメーションクリップは、シーンを再生する前にベイクするのに必要です。これは、サンプルをCrowdsシェルフから作成した場合に自動的に行なわれます。 そうでない場合は、シーンファイルを希望の場所に保存し、'/obj/bake_cycles' ROP NetworkのRenderをクリックして、ファイルを書き出します。 それらのファイルのデフォルトのパスは、${HIP}/agentsです。
SimpleCrowdCloth Example for Agent Vellum Unpack geometry node
このサンプルでは、Vellum Solverを使って、群衆キャラクタの布をシミュレーションする単純なワークフローを説明しています。
Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node
このサンプルでは、Fuzzy Logicコントローラを使用して実装されたエージェントの障害物回避とパスへの追従を説明しています。
See also |