On this page | |
Since | 14.5 |
Crowd Triggerは、エージェントが各自のstateの変更を引き起こすトリガーまたはイベントを定義します。 トリガーがTrueに評価されると、Crowd Transitionノードが有効になります。
Custom VEXpression または Animated Parameter のトリガータイプを使用することで、独自のトリガーを実装することができます。
トリガー値を含んだPointアトリビュートの名前が指定されたtriggerattrib
パラメータをユーザ定義のアセットに追加すれば、そのアセットをトリガーとして使用することもできます。
パラメータ ¶
Group
エージェントのグループに対してのみトリガーを処理します。
Guide
有効にすると、このノードのガイドジオメトリが表示されます。
Note
ここでガイドジオメトリが有効になっていても、DOPノードの Hidden フラグを使って無効にすることもできます。
Type
トリガーが何に基づくかを指定します(オブジェクトアトリビュート、パーティクル速度、時間など)。
Object Bounds
エージェントの境界をオブジェクトで定義する場合にチェックします。
Bounding Object
エージェントの境界オブジェクトに使用するDOPオブジェクトの名前。
Check
Incoming
エージェントが境界形状の内側に移動する場合にトリガーします。
Outgoing
エージェントが境界形状の外側に移動する場合にトリガーします。
Continuous
エージェントが内側にいる限りトリガーします。
Object Attribute
指定したDOPオブジェクトからアトリビュートを読み込み、比較を行ないます。
Attribute Object
アトリビュートを読み込むオブジェクト名。
Attribute Name
読み込むアトリビュート名。
Search Radius
エージェントがオブジェクト上の最近接点を検出する距離。
Comparison
実行する比較タイプ。
Comparison Value
アトリビュートを比較する値。
Object Distance (position)
エージェントとその指定したDOPオブジェクトの間の距離をチェックします。
Position Object
DOPオブジェクト名。
Distance To
エージェントからオブジェクトのジオメトリの Centroid または Closest Point までの距離を使用します。
Comparison
実行する比較タイプ。
Comparison Distance
比較する距離。
Object Distance (pointcloud)
エージェントとDOPオブジェクトで指定したポイントクラウドとの間の距離をチェックします。
Pointcloud Object
ポイントクラウドを含むDOPオブジェクトの名前。
Search Radius
エージェントが検索する距離。
Comparison
実行する比較タイプ。
Comparison Distance
比較する距離。
Object Raycast
エージェントのレイキャストがオブジェクトに当たるかチェックします。 エージェントを表現したポイントから Reference Direction 方向に単一光線が飛ばされます。
Raycast Object
DOPオブジェクトの名前。
Ray Direction
エージェントのVelocityの方向( Agent Velocity )または現在向いている方向( Agent Orientation )のどちらに光線を飛ばすのか指定します。
Reference Direction
エージェントの元々の方向。 Ray Direction が Agent Orientation に設定されている時に、この Reference Direction をエージェントの現在の向きでトランスフォームさせて光線方向を決めます。
Raycast Length
当たりを検索する最大距離。
Raycast
Hit
オブジェクトが当たった時にトリガーが有効になります。
No Hit
オブジェクトが当たらなかった時にトリガーが有効になります。
Particle Speed
指定した値とパーティクル/エージェント速度を比較します。
Angular Speed
previousorient
とorient
のアトリビュートから計算された角速度(度/秒)を使用します。
Agent Angular Speed パラメータが有効な時、Crowd Solverは、previousorient
アトリビュートを作成します。
Comparison
実行する比較タイプ。
Speed
エージェントスピードと比較する値。
Particle Proximity
指定したプロキシミティ内に他のパーティクル/エージェントが存在するかをチェックします。 パーティクルが同じグループに属しているかどうかをチェックすることができます。
Search Radius
パーティクル/エージェントが別のパーティクル/エージェントを検索する距離。
Field of View
エージェントの正面ベクトルを基準とした画角サイズ(度)。 この画角外にあるパーティクルは無視されます。 90度の値は、正面方向を基準に各片側45度までを網羅することを意味します。
Ignore Same Group
有効にすると、同じグループに属するパーティクル/エージェントが無視されます。
Group Attribute
文字列Pointアトリビュートの名前。 エージェントは、このアトリビュートと同じ値を持った他の隣接エージェントを無視します。
Particle Attribute Lookup
指定したパーティクル/エージェントを読み込み、比較を行ないます。
Attribute Name
アトリビュート名。
Array Index
アトリビュートが配列タイプの場合、値を読む配列のインデックスを指定します。
Comparison
実行する比較タイプ。
Comparison Value
比較する値。
Particle Attribute Comparison
検索半径内にあるパーティクル/エージェントのアトリビュート値を比較します。
Attribute Name
アトリビュート名。
Search Radius
パーティクル/エージェントが別のパーティクル/エージェントを検索する距離。
Comparison
実行する比較タイプ。
Ignore Same Group
有効にすると、同じグループに属するパーティクル/エージェントが無視されます。
Group Attribute
グループ名を保持するのに使われるアトリビュート名。
Time (Current)
指定した値と現在のシーン時間を比較します。
Units
Playback Time と Random Offset の単位がフレームまたは秒のどちらなのかを指定します。
Comparison
実行する比較タイプ。
Playback Time
比較する値(秒)。
Random Offset
比較された値に加算されるランダム時間。
Current State Duration
パーティクル/エージェントがどれくらい現在の状態を持続しているかをチェックします。
Units
Duration の単位がフレームまたは秒のどちらなのかを指定します。
Comparison
実行する比較タイプ。
Duration
比較する値。
Animated Parameter
トリガーを作成するパラメータをアニメーションさせることができます。
Value
アニメーションさせる値(int)。
Custom VEXpression
トリガーが発生した時に操作するためのカスタムWrangleコードを記述することができます。
Input 1, 2, 3, 4
これらの入力は、VOP内部にアクセス可能な4つの仮想入力を制御します。
VEXpressionを使用する時は、VOPのOpInput1-4ワイヤーまたは@OpInput1-4
文字列パラメータを使うことで、それらの仮想入力にアクセスすることができます。
また、入力番号を受け取るVEX関数に数値で0-3を使うことで、それらの仮想入力にアクセスすることもできます。
None
この入力にジオメトリが接続されません。
SOP
VEXを実行する前に、このSOPジオメトリがクックされて、その結果がこの入力に接続されます。
DOP Data
参照する現行シミュレーション内のデータ。
ここには、オブジェクト/データ(例えば、pyro1/vel
)として指定して、pyro1
オブジェクト(これは3つのボリュームプリミティブとして表示します)のVelocityフィールドを参照します。
Myself
入力を、現在処理されているジオメトリの コピー にバインドします。 こうすることで、VEXジオメトリ関数(例えば、point())を使用して元のバージョンのジオメトリを照会できるようになっています。
Nth Context Geometry
親のDOP Network自体に接続されたSOPを参照します。
Myself (No Reads from Outputs)
入力を、現在処理されているジオメトリにバインドします。 その結果、ジオメトリのコピーではなくその場のジオメトリが処理されます。 これは Myself よりも効率的ではありますが、制限が加わってしまいます。 というのも、VEXはマルチスレッド処理なので、書き込みのためにバインドされた入力ジオメトリアトリビュートを読み込むのは許可されません。
例えば、1番目の入力を Myself (No Reads from Outputs) にバインドしている場合、以下のコードはエラーを出します:
@P = point(0, "P", 0);
Evaluation Node Path
ch()
などのVEX関数は、通常では、このノードを基準に評価します。
ここでパスを指定すれば、パス検索の開始場所を上書きすることができます。
これは、トップレベルのデジタルアセットが検索ルートになるようにデジタルアセットへ組み込む時に役に立ちます。
RBD Impact Data
この閾値より大きいRBD Impact Dataが、このトリガーをアクティブにします:
DOP Impact Objects
Impactを考慮するオブジェクト。
Impact Threshold
トリガーをアクティブにするのに必要なImpactの大きさ。
Transform Group
トランスフォームグループの名前。ここには、Impactを検出するエージェントのリグ内のジョイントのサブネットを指定します。
Animation Clip Loops
エージェントの現行アニメーションクリップのループ回数に基づいてトリガーをアクティブにします。
Comparison
エージェントのクリップループの現行回数とターゲットの Number of Loops を比較する方法を指定します。
Number of Loops
比較するループの回数。
Look At Target
エージェントの現行Look-Atターゲットに基づいてトリガーをアクティブにします。
Target Names
トリガーがアクティブになるターゲット名の名前またはパターン。 ターゲットの名前は、Agent Look Atの Target Name パラメータで設定します。
Target Point Group
Agent Look Atの __Target Type__が Points または Agents の場合、指定したポイントグループ内にターゲットポイントまたはターゲットエージェントが入っている場合にのみトリガーがアクティブになります。
Gaze Duration
有効にすると、エージェントが現行ターゲットを注視してきた時間とこの値が比較されてトリガーがアクティブになります。
Units
Gaze Duration の単位がフレームまたは秒のどちらなのかを指定します。
Comparison
比較のタイプ。
RBD Sticky Collisions
Sticky Collisionsが発生した他のオブジェクトの数に基づいてトリガーをアクティブにします。
Transform Group
トランスフォームグループの名前。ここには、Sticky Collisionsに考慮したいエージェントのリグ内のジョイントのサブセットを指定します。 何も指定しなかった場合、エージェントのどのシェイプにも衝突が考慮されるようになります。
Comparison
エージェントの現在のSticky Collisionsの回数とターゲットの Number of Sticky Collisions を比較する方法を指定します。
Number of Sticky Collisions
比較する衝突の回数。
Trigger Name
トリガーの名前。各Crowd Triggerノードは独自のcrowdtrigger_triggername
アトリビュートを作るため、名前は固有でなければなりません。
Fuzzy Logic Output
有効にすると、トリガーはブール値ではなく浮動小数点値を生成します。 この浮動小数点値は、比較をしたいがために使用するようなブール値とは違って、群衆のステートをトランジションさせるかどうかを判断するのに実際に使用するトリガー値です。 例えば Object Distance トリガーの場合、パーティクルのオブジェクトからの距離は、トリガーが生成した浮動小数点値になっています。
Crowd Trigger DOPをファジー論理ネットワークの入力としてCrowd Fuzzy Logic DOPに接続している場合は、これを有効にしてください。
入力 ¶
なし
出力 ¶
Crowd Transition, Crowd Trigger Logic
Examples ¶
CrowdTriggers Example for Crowd Trigger dynamics node
このサンプルでは、Crowd Trigger DOP用のビルトインのトリガータイプの使い方を説明しています。
See also |