On this page | |
Since | 15.5 |
パラメータ ¶
Particle Motion ¶
Velocity ¶
エージェントのVelocityをソルバで操作する方法を制御します。
Max Force
エージェントに適用できる最大フォースを指定します。
このパラメータは、maxforce
Pointアトリビュートで上書きすることができます。
Drag
エージェントのVelocityに適用される抵抗の強さを指定します。
Constrain by Max Turn Rate
有効にすると、 Max Turn Rate と Min Speed のパラメータを使用して、エージェントのVelocityの向きが変わる速さを制限します。 これにより、強いフォースが適用された時にエージェントが横または後ろに滑るのを回避することができます。
Project Forces
有効にすると、エージェントのup
ベクトルで定義された平面にフォースが投影されます。
これを使用することで、3Dフォースがエージェントを上下に動かさないようにすることができます。
Orientation Update ¶
エージェントのv
とup
のベクトルに基づいてエージェントの向きを更新する方法を制御します。
Min Speed
向きが変更できるエージェントの最低速度を指定します。これにより、遅い速度のエージェントが回転しないようにすることができます。
Max Turn Rate
エージェントのUp軸を基準に回転させて、その向きを変更できる速さ(度/秒)を指定します。
このパラメータは、maxturnrate
Pointアトリビュートで上書きすることができます。
Constrain Turn Acceleration
有効にすると、エージェントの振り返りが、ターゲット方向との角度と現在のTurn Rateに基づいて角加速度が変化する減衰バネのように追従するようになります。 これによって、エージェントの向きやTurn Rateの急変化が回避されると同時に、エージェントがターゲット方向に素早く大きく変化するように調整することができます。 Max Turn Rate と Max Acceleration のパラメータでは、角速度と角加速度それぞれの上限を設定することができます。
Turn Stiffness
ターゲット方向との角度に基づいてエージェントを加速させる早さを制御します。
Turn Damping
角加速度スプリングの減衰を指定します。値が大きいほど振動が軽減されます。
Max Acceleration
エージェントが振り返る時の最大角加速度を指定します。
Max Tilt Rate
エージェントのUpベクトルが回転できる速さ(度/秒)を指定します。
このパラメータは、maxtiltrate
Pointアトリビュートで上書きすることができます。
Constrain Tilt Acceleration
有効にすると、エージェントの傾斜が、ターゲット方向との角度と現在のTilt Rateに基づいて角加速度が変化する減衰バネのように追従するようになります。 これは、例えば、エージェントのUpベクトルが地形の法線に追従するように調整した時に非常に滑らかなモーションを生成することができます。
Tilt Stiffness
ターゲットUpベクトルとの距離に基づいてエージェントを加速させる早さを制御します。
Tilt Damping
角加速度スプリングの減衰を指定します。値が大きいほど振動が軽減されます。
Max Acceleration
エージェントが傾斜した時の最大角加速度を指定します。
Adjust Up Vector
ソルバがシミュレーション中にエージェントのUpベクトルを調整する方法を指定します。
Unchanged
ソルバはエージェントのup
Pointアトリビュートを変更しません。
Set Perpendicular to Velocity
Velocityベクトルに垂直になるようにUpベクトルを更新します。 これは、例えば鳥が空間内を飛び回る状況で役立ちます。
Set to Terrain Normal
地形の法線に一致するようにUpベクトルを更新します。 これは、 Enable Terrain Projection が有効になっている必要があります。 これは、例えば昆虫が壁に沿って這う状況で役立ちます。
Reference Direction
Velocityベクトルに揃えるエージェントの軸。例えば、これを1,0,0に設定すると、エージェントのX軸がそのVelocityに揃います。
Reference Up
エージェントの元のUpベクトル。このパラメータは、エージェントの向きを更新する時に、 Reference Direction と併用されます。
Locomotion Constraint ¶
ロコモーションアニメーションのクリップを持つエージェントが、クリップのロコモーションチャンネルで指定されたモーションに追従する方法に関する高度なコントロールを備えています。
Strength
ロコモーションチャンネルのターゲットVelocityがパーティクルのVelocity(Dragフォースの Air Resistance と等価)に与える影響力を指定します。
Sim Influence
ロコモーションエージェントに対する群衆シミュレーション内の他のフォースの効果を弱くします。
Particle Update ¶
Update Particles
組み込みPOPソルバを有効にするかどうか指定します。このソルバをマイクロソルバとして使用する時は、これを無効にしてください。
Age Particles
age
アトリビュートがタイムステップ毎に更新されて、削除フラグが付いたパーティクルがlife
アトリビュートを超えると、それらのパーティクルが削除されます。
Reap Particles
dead
アトリビュートが1のパーティクルすべてが削除されます。
Avoidance ¶
Enable Avoidance Force
予測衝突時間に基づいて、エージェント同士を回避させるフォースを有効にします。
Guide
このノードのガイドジオメトリを表示するかどうか制御します。
Note
ここで有効になっていても、DOPノードの Hidden フラグを使って無効にすることもできます。
Agent Group
Avoidance(回避)フォースから影響を受けるエージェントのサブグループを指定します。
Weight
Avoidance(回避)フォースのウェイトを指定します。値が高いほど、Avoidance(回避)フォースは他のフォースよりも優先度が高くなります。
Particle Scale Multiplier
ノードは、起こり得る衝突を計算する時、各エージェント/パーティクルのサイズとして、pscale
を使用します。
このパラメータを使用して、計算中にpscale
の値をスケーリングすることができます。
これにより、エージェント/パーティクルを少し密接させて詰め込むことができます。
このパラメータは、pscalemultiplier
Pointアトリビュートで上書きすることができます。
Force Scale
回避フォースの強度に対するスケール係数。
Anticipation Time
将来的に起こり得る衝突をエージェントがどれくらい先まで検索するかを設定します(想定距離を予測するために現在のVelocityを使用します)。 エージェントが他のエージェントを隣のエージェントと見なすための最大距離は、エージェントの現行速度にAnticipation Timeを乗算した値とNeighbor Distanceとの最小値です。
Neighbor Distance
エージェントが他の近隣エージェントを探す最大距離。
Max Neighbors
エージェントのAvoidance(回避)フォースを計算する時にエージェントが考慮する近隣エージェントの最大数。
Look At ¶
Agent Look Atノードで作成されたターゲットをエージェントの頭が見るように調整する方法を制御します。
Apply Look Ats
Look Atするスケルトンの調整を有効にします。
Look At Solver
Look Atターゲットを選択してエージェントのスケルトンを調整するのに使用するソルバを指定します。
このオプションは、既存のシーンと互換性を持たせるために用意されています。
これは、Agent Look At Apply 2.0とAgent Look At Apply 3.0を切り替えます。
そして、それに呼応するバージョンの
Agent Look Atと組み合わせて使用する必要があります。
Agent Group
影響を受けるエージェントのサブグループを指定します。
Guide
各エージェントの現行ターゲットを示したガイドジオメトリを表示します。
Minimum Target Score
When an agent needs to select a look at target, it selects the target with the highest interest score.
The target scores calculate according to the Target Score parameters on Agent Look At.
If the highest target score is below this value, the agent will not select a look at target.
This ensures only important targets grab the agents' attention, or to avoid selecting targets that are about to become ineligible (for example, leaving the agent’s field of view).
Minimum Target Score Mode
Specifies how to determine the minimum target score for each agent.
Minimum Target Score Attribute
Overrides or multiplies the Minimum Target Score with the value of a point attribute on the agent.
Number of Joints
Limits the number of joints you can adjust in the IK chain. This number includes the head joint.
When disabled, the default behaviour is to include all of the joints between the Lower Back and Head joints defined with Agent Prep.
Head Turn Stiffness
Controls how quickly the head adjusts to match the look at direction. This behaves as the stiffness of a damped angular spring.
Controls how much the head joint rotates relative to other joints in the IK chain based on the angle to the target. For example, reducing the head joint’s weight as the target angle increases allows the rest of the spine to be more involved for larger rotations.
Angle Range
Specifies the angles that match the start and end of the Weight Ramp. Outside this angle range, the ramp extends the first and last values.
Weight Scale
Scales the value of the Weight Ramp.
Weight Ramp
Sets the head joint’s rotation weight based on the angle to the target, multiplied by the Weight Scale. The Angle Range defines the ramp’s range (outside this range, the first and last values are extended).
Eye Turn Stiffness
Controls how quickly the eye joints adjust to match the look at direction. This behaves as the stiffness of a damped angular spring.
Controls how much the eye joints rotate relative to other joints in the IK chain, based on the angle to the target. For example, reducing the eye joints' weights as the target angle increases allows the head and spine to rotate more.
Angle Range
Specifies the angles that match the start and end of the Weight Ramp. Outside this angle range, the ramp extends the first and last values.
Weight Scale
Scales the value of the Weight Ramp.
Weight Ramp
Sets the eye joints' rotation weights based on the angle to the target, multiplied by the Weight Scale. The Angle Range defines the ramp’s range (outside this range, the first and last values are extended).
Adjust Immediately on Initial Frame
最大回転レートで制限をかけずに(必要に応じて)初期フレームで頭を即座に調整するかどうかを指定します。
Outputs additional attributes with information about the agent’s current target (if the agent has multiple head joints, only the first joint is considered).
These attributes can be convenient for controlling forces or other behaviors based on the agent’s current target.
Tip
You can use the Crowd Trigger DOP to transition between states based on the agent’s current target.
Target Name
Creates a string point attribute containing the name of the agent’s current target. The value is empty if the agent does not have a current target.
Target Position
Creates a vector point attribute containing the position of the agent’s current target.
Target Score
Creates a float point attribute containing the interest score of the agent’s current target.
Terrain ¶
Show Guide Geometry
下肢ジョイントの位置と足がロックされているかどうかを示したガイドジオメトリを表示します。
Scale
ガイドジオメトリのサイズを調整します。
Locked Scale
足をロックさせるタイミングの スケール を調整します。
Color
ガイドジオメトリのカラーを指定します。 足のロックが有効な時、そのランプを使用して、足首とつま先のジョイントがロックされるタイミングまたはロックされた位置がブレンドされるタイミングを示します。
Enable Foot Locking
足が着地する時に足首とつま先が滑らないようにします。
Agent Prep SOPで指定したチャンネルを使用して、アニメーションクリップ中に足が着地するタイミングと、そのロックした位置でのブレンドの方法を決定します。
また、ソルバは足が着地するタイミングと実際に足が地面より上にあるタイミングを区別することができるので、このオプションは、まだ順応していない足の位置が地形より上にある状況においても地形順応を改善します。
このオプションは、地形オブジェクトを指定しなかった場合でも使用することができます。
オプションのagentterrainadaptation_footdown
float配列Pointアトリビュートを使用することで、エージェントのアニメーションクリップから計算されたfoot down値を上書きすることができます。
このアトリビュートには、agentrig_footchannels
Pointアトリビュートの各エントリーの代替となるfoot down値が含まれている必要があります。
これは、キャッシュ化されたエージェントに地形順応を適用する時に役立ちます。
Adjust Hips
不均一な地形に足が着地する時に、足が伸びすぎないように腰の位置を調整します。
Hip Offset
腰を上下にずらすための追加オフセットを指定します。
Hip Shift Per Frame
1フレームあたりの腰をずらすことができる量を指定します。これによって、不均一な地形上での腰の急な動きを減らすことができます。
Knee Damping Threshold (%)
上肢からターゲットの足首位置までの距離が、この足の最大長の割合よりも長い時、そのターゲットの足首位置を伸ばした時に膝角度が滑らかに180度に近づくように、その膝角度を減衰させます。 これによって、足がほぼ完全に伸び切った時に膝がカクつくのを回避することができます。
Note
地形上に足を着地させる事の方を優先にするので、これによって足が若干伸びてしまいます。
Enable Terrain Projection
エージェントパーティクルを、指定した地形に投影します。
Agent Group
地形投影を適用するエージェントのサブグループを指定します。
Source
地形オブジェクト用のソースジオメトリを指定します(SOPパスまたはDOPオブジェクト)。
Terrain Group
地形ジオメトリ内のどのプリミティブを光線の交差に使用するべきなのかを指定します。
Mode
エージェント投影の方向を制御します。
Direction Vector
Direction パラメータで指定したベクトルを使用します。
Up Attribute
エージェントのup
アトリビュートを使用します。
Sampling Method
エージェントのポイントから単一光線を放出するのか、エージェントの各足から光線を放出するのかを指定します。
Sample From Agent’s Plane
Sampling Method が Foot の時、光線を放出する前に、エージェントの位置と Direction Vector で定義された平面に足の位置を投影します。 これによって、エージェントが平坦な地形上にある時の Particle サンプリングメソッドと整合性が取れた結果が生成されます。 このオプションを無効にすると、各足と地形との平均距離だけエージェントが下がります。
Offset
すべてのエージェントを上下にずらす追加オフセット。
Stick to Deforming Geometry
このオプションを有効にすると、エージェントを地形上に投影した箇所のプリミティブ番号とUVW座標を記録します。 これによって、地形ジオメトリが変形した時に、ソルバが次のフレームの初めにその変形したジオメトリ上のそれに該当する位置にエージェントを動かすことができます。
Enable Terrain Adaptation
エージェントの足が地形に順応するように調整します。
Agent Group
地形順応を適用するエージェントのサブグループを指定します。
Enable Leaning
エージェントの背中を調整するべきかどうか指定します。
Backward Lean
エージェントがどれくらい後ろに傾けられるかを設定します(度)。
Forward Lean
エージェントがどれくらい前に傾けられるかを設定します(度)。
Attributes ¶
シミュレーションをデバッグする時に役立つアトリビュートを作成するためのオプションが備わっています。
Agent Speed
エージェントの現行速度を含んだagentspeed
Pointアトリビュートを作成します。
Agent Angular Speed
エージェントの現行角速度を含んだagentangularspeed
Pointアトリビュートを作成します。
Substeps ¶
Time Scale
実際のタイムステップに適用する全体的なスケール。このパラメータをアニメーションさせることができます。
Min Substeps
POP Solverが常にこの最小サブステップ数を行使します。
これを変更する必要があるのは非常に稀です。
Max Substeps
POP Solverは、この数よりも多いサブステップ数でシミュレーションを分解しません。
CFL Condition
CFL条件とは、シーンに必要なサブステップのサイズを自動的に決めるために使用される係数です。 これは、指定したサブステップでパーティクルが移動できる距離を制御する考え方です。
例えば、このパラメータを0.5に設定すると、ソルバは、パーティクルが1回のサブステップのうち最小のパーティクルのサイズの50%より大きく動かないように、サブステップ毎の長さを設定します。
Quantize to Max Substeps
フレームを Max Substeps で割ったサブステップ数を常に使用します。 例えば、 Max Substeps を4に設定し、 CFL Condition が3サブステップのみを要する場合、 ソルバは、0.25 , 0.5 ,0.25のフレームステップを取ります。 このオプションは、1/Max Substeps の増分でファイルにキャッシュ化した入力ジオメトリを再利用するのに役立つことがあります。
Frames Before Solve
オブジェクト作成後に、指定したフレーム数分だけ実際のシミュレーションを遅延させます。 それでもTerrain Adaptationなどの歩きは、そのフレーム間で起こります。
Examples ¶
AnimatedStaticAgents Example for Crowd Solver dynamics node
このサンプルでは、Crowd Solver向けに“アニメーションする静的な”エージェントをセットアップする方法を説明しています。 このようなエージェントは、SOPレベルのアニメーションに追従し、これを障害物として使用したり、ラグドールに変換することができます。
CrowdHeightField Example for Crowd Solver dynamics node
このサンプルでは、Crowd SolverのTerrain AdaptationとBullet SolverのラグドールのコリジョンにHeight Fieldを使用する方法について説明しています。
FollowTerrain Example for Crowd Solver dynamics node
このサンプルでは、地形の法線方向にエージェントが向く群衆シミュレーションのセットアップの方法について説明しています。
FootLocking Example for Crowd Solver dynamics node
このサンプルでは、エージェントの足をロックさせる方法について説明しています。
PartialRagdolls Example for Crowd Solver dynamics node
このサンプルでは、部分ラグドールのセットアップ方法について説明しています。エージェントのジョイントのサブセットがBullet Solverによってアクティブオブジェクトとしてシミュレーションされ、残りのジョイントがアニメーションします。
PinnedRagdolls Example for Crowd Solver dynamics 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です。
See also |