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
ターゲット方向との角度に基づいてエージェントを加速させる早さを制御します。
このパラメータは、 Constrain Turn Acceleration が有効になっている場合にのみ利用可能です。
Turn Damping
角加速度スプリングの減衰を指定します。値が大きいほど振動が軽減されます。
このパラメータは、 Constrain Turn Acceleration が有効になっている場合にのみ利用可能です。
Max Acceleration
エージェントが振り返る時の最大角加速度を指定します。
Max Tilt Rate
エージェントのUpベクトルが回転できる速さ(度/秒)を指定します。
このパラメータは、maxtiltrate
Pointアトリビュートで上書きすることができます。
Constrain Tilt Acceleration
有効にすると、エージェントの傾斜が、ターゲット方向との角度と現在のTilt Rateに基づいて角加速度が変化する減衰バネのように追従するようになります。 これは、例えば、エージェントのUpベクトルが地形の法線に追従するように調整した時に非常に滑らかなモーションを生成することができます。
Tilt Stiffness
ターゲットUpベクトルとの距離に基づいてエージェントを加速させる早さを制御します。
このパラメータは、 Constrain Tilt Acceleration が有効になっている場合にのみ利用可能です。
Tilt Damping
角加速度スプリングの減衰を指定します。値が大きいほど振動が軽減されます。
このパラメータは、 Constrain Tilt Acceleration が有効になっている場合にのみ利用可能です。
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ターゲットを選択してエージェントのスケルトンを調整するのに使用するソルバを指定します。 このオプションは、既存のシーンと互換性を持たせるために用意されています。
Simple (Deprecated)
Advanced
上記のバージョンのAgent Look At Applyは、それと同じバージョンのAgent Look Atと組み合わせて使用してください。
Agent Group
影響を受けるエージェントのサブグループを指定します。
Guide
有効にすると、各エージェントの現行ターゲットを示したガイドジオメトリが表示されます。
Minimum Target Score
エージェントは、Look-Atターゲットを選択する必要がある時、最も高い関心スコアを持つターゲットを選択します。 このターゲットスコアは、Agent Look Atの Target Score パラメータから計算されます。 最高のターゲットスコアがこの Minimum Target Score を下回った場合、エージェントはLoo-Atターゲットを選択しなくなります。 これによって、重要なターゲットのみがエージェントの気を引くようにしたり、(例えば、エージェントの視界から出そうな)不適合になりそうなターゲットが選ばれないようにすることができます。
このパラメータのどれかのオプションを選択して、各エージェントの最小ターゲットスコアの決め方を指定します:
Set Value
Minimum Target Score 値を使用します。
Set from Attribute
Minimum Target Score Attribute のPointアトリビュートの値で Minimum Target Score を上書きします。
Scale by Attribute
Minimum Target Score Attribute のPointアトリビュートの値で Minimum Target Score を乗算します。
Minimum Target Score Attribute
エージェント上のPointアトリビュート。
このパラメータは、 Minimum Target Score モードが Set from Attribute または Scale by Attribute に設定されている場合にのみ利用可能です。
Number of Joints
IKチェーン内で調整可能なジョイントの数を制限します。 この数はHeadジョイントを含みます。 無効にすると、デフォルトの挙動は、Agent Prepで定義された Lower Back ジョイントと Head ジョイントの間にあるすべてのジョイントが含まれます。
Head Turn Stiffness
HeadジョイントがLook-At方向に一致するように調整されるまでの早さを制御します。 これは、減衰した角ばねの剛性のように動作します。
ターゲットに対する角度に基づいて、IKチェーン内の他のジョイントを基準にHeadジョイントを回転させる量を制御します。 例えば、ターゲット角度が大きくなるにつれてHeadジョイントのウェイトを下げることで、背骨の残りのジョイントを大きな回転にもっと寄与させることができます。
Angle Range
Weight Ramp の開始と終了に合わせる角度を指定します。 この角度の範囲外では、 Weight Ramp は開始値と終了値で延長されます。
Weight Scale
Weight Ramp の値をスケールします。
Weight Ramp
ターゲットに対する角度に基づいて、Headジョイントの回転ウェイトを設定し、そこに Weight Scale を乗算します。 Angle Range は、このランプの範囲(この範囲外では、開始値と終了値で延長されます)を定義します。
Eye Turn Stiffness
EyeジョイントがLook-At方向に一致するように調整されるまでの早さを制御します。 これは、減衰した角ばねの剛性のように動作します。
ターゲットに対する角度に基づいて、IKチェーン内の他のジョイントを基準にEyeジョイントを回転させる量を制御します。 例えば、ターゲット角度が大きくなるにつれてEyeジョイントのウェイトを下げることで、頭部と背骨をもっと回転させることができます。
Angle Range
Weight Ramp の開始と終了に合わせる角度を指定します。 この角度の範囲外では、 Weight Ramp は開始値と終了値で延長されます。
Weight Scale
Weight Ramp の値をスケールします。
Weight Ramp
ターゲットに対する角度に基づいて、Eyeジョイントの回転ウェイトを設定し、そこに Weight Scale を乗算します。 Angle Range は、このランプの範囲(この範囲外では、開始値と終了値で延長されます)を定義します。
Adjust Immediately on Initial Frame
有効にすると、最大回転レートで制限をかけずに(必要に応じて)初期フレームで頭が即座に調整されます。
エージェントの現行ターゲットに関する情報を含んだ追加アトリビュートを出力します(エージェントに複数のHeadジョイントが含まれている場合、最初のジョイントのみが考慮されます)。 これらのアトリビュートは、エージェントの現行ターゲットに基づいて、フォースを制御したり、他の挙動を制御するのに役立ちます。
Tip
Crowd Trigger DOPを使用することで、エージェントの現行ターゲットに基づいてステートを遷移させることができます。
Target Name
有効にすると、エージェントの現行ターゲットの名前を含んだ文字列Pointアトリビュートが作成されます。 エージェントに現行ターゲットがない場合、この値は空っぽになります。
Target Position
有効にすると、エージェントの現行ターゲットの位置を含んだベクトルPointアトリビュートが作成されます。
Target Score
有効にすると、エージェントの現行ターゲットの関心スコアを含んだ浮動小数点Pointアトリビュートが作成されます。
Terrain ¶
Show Guide Geometry
有効にすると、下肢ジョイントの位置と足がロックされているかどうかを示したガイドジオメトリが表示されます。
Scale
ガイドジオメトリのサイズを調整します。
Locked Scale
足をロックさせるタイミングの スケール を調整します。
Color
ガイドジオメトリのカラーを指定します。 Enable Foot Locking が有効な時、このカラーランプを使用して、足首とつま先のジョイントがロックされるタイミングまたはロックされた位置がブレンドされるタイミングを示します。
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オブジェクト)。
SOP
SOP Path パラメータで指定されたSOPを使用します。
DOP Data
DOP Object パラメータで指定されたDOPを使用します。
First Context Geometry
DOPネットワークの1番目の入力に接続されているSOPを使用します。
Second Context Geometry
DOPネットワークの2番目の入力に接続されているSOPを使用します。
Third Context Geometry
DOPネットワークの3番目の入力に接続されているSOPを使用します。
Fourth Context Geometry
DOPネットワークの4番目の入力に接続されているSOPを使用します。
SOP Path
SOPのパス( Terrain Source が SOP に設定されている場合)。
DOP Object
地形ジオメトリとして使用するDOPオブジェクト(地形ソースが DOP Data に設定されている場合)。
DOP Data
DOP Object に追加されているデータ(地形ソースが DOP Data に設定されている場合)。
Terrain Group
光線の交差に使用される地形ジオメトリ内のプリミティブ。
Mode
エージェント投影の方向を制御します。
Direction Vector
Direction パラメータで指定したベクトルを使用します。
Up Attribute
エージェントのup
アトリビュートを使用します。
Direction
Mode が Direction Vector に設定されている場合、ここには、エージェント投影の方向を指定します。
Sampling Method
エージェントのポイントから単一光線を放出するのか( Particle )、エージェントの各足から光線を放出するのか( Foot )を指定します。
Sample From Agent’s Plane
Sampling Method が Foot に設定されている時、光線を放出する前に、エージェントの位置と Direction ベクトルで定義された平面に足の位置を投影します。 これによって、エージェントが平坦な地形上にある時の Particle サンプリングメソッドと整合性が取れた結果が生成されます。 このオプションを無効にすると、各足と地形との平均距離だけエージェントが下がります。
Offset
全てのエージェントを上下に移動させる追加オフセット。
Stick to Deforming Geometry
有効にすると、エージェントを地形上に投影した箇所のプリミティブ番号とUVW座標が記録されます。 これによって、地形ジオメトリが変形した時に、ソルバが次のフレームの初めにその変形したジオメトリ上のそれに該当する位置にエージェントを動かすことができます。
Enable Terrain Adaptation
有効にすると、エージェントの足が地形に順応するように調整することができます。
Agent Group
地形順応を適用するエージェントのサブグループを指定します。
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 Condition は、シーンで必要なサブステップのサイズを自動的に決めるために使用される係数です。 この考えは、パーティクルが指定したサブステップ内で移動できる距離を制御するためのものです。
例えば、 CFL Condition を0.5
に設定すると、ソルバは、指定したサブステップ内で、パーティクルの距離間隔の50%よりも長く移動しないように、各サブステップの長さを設定します。
Quantize to Max Substeps
有効にすると、フレームを Max Substeps で割ったサブステップが使用されるので、時間が常に1/ Max Substeps の倍数となります。
例えば、 Max Substeps を4に設定し、 CFL Condition が3サブステップだけ必要であれば、 ソルバはフレームを3つのサブステップ(各サブステップは 1/ Max Substeps の倍数に位置します)に分割します。 このサブステップ長の組み合わせは、0.25, 0.5, 0.25(フレームをそれぞれ0-0.25,0.25-0.75,0.75-1の位置に分割)となります。 フレームをサブステップに分割する時、ソルバは、パーティクルの現行状態(パーティクルのサイズとVelocity)も考慮します。
このオプションは、1/ Max Substeps の増分値でファイルにキャッシュ化された入力ジオメトリを再利用するのに役に立ちます。 例えば、ジオメトリが1フレームあたり4サブステップでディスクにキャッシュ化されていれば、そのジオメトリを補間する必要がないように、シミュレーションのサブステップが常に0.25の倍数となるようにすることができます。
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を使用する方法について説明しています。
CrowdStickyCollisions Example for Crowd Solver dynamics node
このサンプルでは、Bullet SolverのSticky Collisionsを使用して、矢がラグドールに当たった後にその矢をそのラグドールに引っ付けたままにする方法を説明しています。
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
このサンプルでは、ラグドールを外部オブジェクトに取り付ける拘束のセットアップ方法と、モーターを使ってアニメーションクリップを持つアクティブラグドールを駆動させる方法について説明しています。
このサンプルでは、SOPレベルのアニメーションに追従するエージェントをCrowd Solverに取り込む方法を説明しています。 これらのエージェントは、シミュレーションされるエージェントの回避に使用したり、ラグドールに変換することができます。
Formation Crowd Example Example for Crowd Solver dynamics node
変化する編成のセットアップを説明した群衆サンプル
このセットアップではエージェントの部隊を作成しています。ここでは2つのパスが作成されています。 部隊の中央部分から動き始め、2つの編成に分かれます。 1つが左側に、もう1つが前方に行進して、ゆっくりとその編成が、くさび形に変わります。
エージェントを編成内に維持させるために、独自のジオメトリ形状を使用しています。 その形状は、個々のエージェントに対してゴールとして使用されるポイントです。 その形状をブレンドシェイプさせることで、別の編成に変化させることが可能です。 crowdsourceオブジェクトの中に入って、その構造を確認してください。
Stadium Crowd Example Example for Crowd Solver dynamics node
スタジアムのセットアップを説明した群衆サンプル。
このセットアップは、スタジアムの群衆を作成します。 回転するcheer_bboxオブジェクトをエージェントの境界ボックスとして使用しています。 エージェントがそのオブジェクトの中に入ると、座っている状態から応援している状態へ推移します。 数秒後には、応援している群衆がまた座っている状態に戻ります。
Tip
群衆の一部だけをもっと高速にプレビューしたいのであれば、/obj/crowdsource/switch_all_subsectionにSwitchノードがあります。 そのスイッチを0に設定すると、すべてのエージェントが表示され、1に設定すると、一部のみが表示されます。
Street Crowd Example Example for Crowd Solver dynamics node
2つのエージェントグループによるストリートのセットアップを説明した群衆サンプル。
このセットアップは、2つのエージェントグループを作成します。 黄色のエージェントがゾンビで、ストリートのパスに沿います。青色のエージェントがぶらついている歩行者で、ゾンビが近づくと走ります。
エージェントの状態を変更するトリガーは、crowd_sim DOPNETでセットアップします。 ゾンビのグループは、信号との距離と信号の色を使用し、信号が赤になると停止状態に変わります。 生存者のグループは、ゾンビが近づくと走行状態に変わります。
See also |