| On this page | |
| Since | 16.0 |
このノードは、エージェント間に親子関係を作成します。これによって、あるエージェントが他のエージェントのトランスフォームに従うようになります。 これは、騎手を馬や車のエージェントに乗せたい場合に役立ちます。 エージェントには複数の子を取り付けることができ、その親子階層を任意に深くすることができます。
デフォルトでは、2番目の入力内のエージェントが Parent Group 内のエージェントに順次取り付けられて行き、必要に応じてループします。
セットアップをカスタマイズできるように、agentrel_parentid Pointアトリビュートを使って、取り付け先の親エージェントを指定することができます。
詳細は、エージェントの親子関係を参照してください。
パラメータ ¶
これらのパラメータは、 Child Agents 入力(2番目の入力)が接続されている場合にのみ利用可能です。
Parent Group
子エージェントの取り付け先の親エージェント。
Match Parent Agent Scale
有効にすると、子エージェントのスケールが親エージェントのスケールに合わせて変更されます。 これは、親エージェントのスケールが様々であり、子エージェントを親と同じ割合でスケールさせたい場合に役立ちます。
Parent Joint
有効にすると、子エージェント(またはそのジョイントの1つ)は、親エージェントのトランスフォームを継承するだけでなく、親エージェントの特定のジョイントに取り付けることができるようになります。 このパラメータは、子エージェントの取り付け先のジョイントを指定します。
Child Joint
(オプション) Parent Joint が有効な場合、ここには、その Parent Joint に揃えたい子エージェントのジョイント(例えば、hipジョイント)を指定します。
Constraint Type
Parent Joint が有効な場合、ここには、子エージェントをその Parent Joint の位置、向き、またはその両方に拘束するかどうかを指定します。
Translate
子のトランスフォームを調整するための追加移動量。
Rotate
子のトランスフォームを調整するための追加回転量。
有効にすると、親エージェントに取り付くように子エージェントのトランスフォームが更新されます。
これは、各タイムステップでCrowd Solverによって自動で行なわれますが、ここで適用することで、取り付け状態を即座に可視化したり、エージェントを既存の群衆の動きに取り付けることができます。
Group
Transform Child Agents が有効な場合、ここには、更新する親子階層のルートエージェントを指定します。
アトリビュート ¶
このノードは、以下のPointアトリビュートを作成します。 これらのアトリビュートのどれかが入力エージェント上に既に存在すると、それらのアトリビュートがそれに該当するパラメータを上書きします。
| 名前 | クラス | タイプ | 説明 |
|---|---|---|---|
agentrel_parentid
|
Point | Integer |
親エージェントを識別します。これは、 |
agentrel_type
|
Point | Integer |
親ジョイントの位置、回転または両方に一致しているかどうかを示します。
この値の仕様は、 |
agentrel_parentjoint
|
Point | String |
子エージェントの取り付け先となる親エージェントのジョイント。 |
agentrel_childjoint
|
Point | String |
親エージェントのジョイントに揃えたい子エージェントのジョイント。 |
agentrel_P
|
Point | Vector |
子エージェントの追加移動量。 |
agentrel_orient
|
Point | Quaternion |
子エージェントの追加回転量。 |
入力 ¶
Agents
エージェントの群れ。 この入力には、既に親/子エージェントのペアが含まれていても構いません。
Child Agents
(オプション) Agents 入力のエージェントに取り付ける新しいエージェント。
出力 ¶
Agents
Child Agents がマージされた入力エージェント。
Examples ¶
AgentRelationshipBasic Example for Agent Relationship geometry node
このサンプルでは、単純な親子エージェントのセットアップ方法を説明しています。
| See also |