Since | 15.5 |
Crowd Stateは現在のagent stateを定義します。 デフォルトでは、エージェントがこのステート(状態)で再生しているクリップアニメーションにそのノード/ステート名が使われます。 クリップ名は上書きすることができ、ステート間でアニメーションクリップを共有することが可能です。 また、このノードは、使用するクリップのアニメーションパラメータも設定します(クリップのリタイミングはこれらの値に基づきます)。
パラメータ ¶
State Name
このCrowd Stateの名前。例えば、walking
やattacking
です。
デフォルト($OS
)では、ノード名をステート名として使用します。この値は、例えば、読み出し元に現行ステートを表示したり、リストからステートを選択させる時に使用されます。
RBD Ragdoll
このステートでエージェント(“ラグドール”)をシミュレーションするかどうかを指定します。
Active
Bullet Solverは、このエージェントをアクティブRBDオブジェクト(“ラグドール”)としてシミュレーションします。 Partial Ragdoll コントロールを使用することで、キャラクタの一部だけをシミュレーションし、キャラクタの残りの部分をアニメーションクリップに追従させることができます。
Animated Static
Bullet Solverは、このエージェントをアニメーションするStaticオブジェクトとして扱います。 つまり、このエージェントはリジッドボディに影響を与える(例えば、他のオブジェクトがエージェントから跳ね返る)のに対し、シミュレーションされるオブジェクトは、このエージェントに影響を与えません。
Ignore
Bullet Solverは、このエージェントを無視し、RBDオブジェクトがこのエージェントと衝突しません。
Stiffness (section)
有効にすると、Stiffness(剛性)は、ソルバがジョイントを現在の向きから(アニメーションまたはシミュレーションした)“ターゲット”の向きに動かそうとした時に特定の抵抗を追加します。
Group
硬くさせるジョイントを指定した名前の付いたトランスフォームグループ。 Agent Transform Group SOPを使用することで、エージェントセットアップネットワーク内にジョイントグループを作成することができます。
Stiffness Value
Constant に設定すると、このステートの間はStiffness(剛性)は一定です。 Ramp に設定すると、エージェントがこのステートにいる期間に基づいたランプに応じて剛性を変化させることができます。
Stiffness
Stiffness Value が Constant に設定されている場合、ここには、現在のジョイントの回転の変化に対する抵抗力を指定します。
0.2
(デフォルト)から0.5
の間の値は、“硬いけれども硬すぎない”ものとして扱われます。1
以上の値は非常に硬くなります。
Time Range
Stiffness Value が Ramp に設定されている場合、開始と終了の時間(秒)は、このランプの開始と終了に相当します。
例えば、 Time Range に0.0
と5.0
を設定すると、このランプは、エージェントがこのステートになった時の最初の5秒間に対するStiffness(剛性)を制御することができます。
この範囲外では、このランプは、最初と最後の値を延長します。
Stiffness Scale
Stiffness Value が Ramp に設定されている場合、これは、 Stiffness Ramp の値に対するスケールです。
Stiffness Ramp
Stiffness Value が Ramp に設定されている場合、これは、 Time Range 内の各ポイントのStiffness(剛性)を設定します。 この範囲外では、このランプは、最初と最後の値を延長します。
Constraint Force Mixing
この値を上げると、拘束のモーターコンポーネントがより柔らかくなります。 プラスの小さい値ほど、シミュレーションの安定性を良くすることができます。
Partial Ragdoll
有効にすると、エージェントの一部のジョイントがシミュレーション(ラグドール化)できるようになるのと同時に、他のジョイントがアニメーションクリップに追従します。 例えば、下半身をwalkingクリップでアニメーションさせ、上半身をラグドール化させて、シミュレーションオブジェクトからの衝突に反応させることができます。
Active Group
シミュレーション(ラグドール化)させたいジョイントを指定した名前の付いたトランスフォームグループ。 このグループにないジョイントは、 Clip Name で指定されたアニメーションクリップに追従します。 Agent Transform Group SOPを使用することで、エージェントセットアップネットワーク内にジョイントグループを作成することができます。
Motors
有効にすると、ある程度の労力を費やしてジョイントをアニメーションクリップに追従させます。 とはいえ、それらのジョイントは引き続きシミュレーションされ、そのシミュレーションされたフォースが、このMotor Effect(運動作用)を変更したり圧倒させることができます。
Group
クリップによって(部分的に)アニメーションさせるジョイントを指定した名前の付いたトランスフォームグループ。 Agent Transform Group SOPを使用することで、エージェントセットアップネットワーク内にジョイントグループを作成することができます。
Strength Value
Constant に設定すると、このステートの間はモーター強度は一定です。 Ramp に設定すると、エージェントがこのステートにいる期間に基づいたランプに応じてMotor Strength(運動力)を変化させることができます。
Motor Strength
Strength Value が Constant に設定されている場合、ここには、ジョイントをクリップに追従させるのに費やす労力を指定します。
デフォルト値の10
は、重力を圧倒するのに十分ですが、さらに衝突によって、このモーター(運動)を圧倒させることができます。
この値を増減させることで、あなたが求めているMotor Effect(運動作用)になるように試行錯誤することができます。
Time Range
Strength Value が Ramp に設定されている場合、開始と終了の時間(秒)は、このランプの開始と終了に相当します。
例えば、 Time Range に0.0
と5.0
を設定すると、このランプは、エージェントがこのステートになった時の最初の5秒間に対するMotor Strength(運動力)を制御することができます。
この範囲外では、このランプは、最初と最後の値を延長します。
Strength Scale
Strength Value が Ramp に設定されている場合、これは、 Strength Ramp の値に対するスケールです。
Strength Ramp
Strength Value が Ramp に設定されている場合、これは、 Time Range 内の各ポイントのMotor Strength(運動力)を設定します。 この範囲外では、このランプは、最初と最後の値を延長します。
Correction Time
ソルバが(例えば衝突の後の)ターゲットのジョイント回転との乖離の訂正にかける時間の長さ(秒)。 値が低いほど、エージェントは衝撃から早く“回復”するのに対し、値が高いほど、衝撃がエージェントに長く影響を与えます。
Constraint Force Mixing
この値を上げると、拘束のモーターコンポーネントがより柔らかくなります。 プラスの小さい値ほど、シミュレーションの安定性を良くすることができます。
Group
Sticky Collisions設定が適用されるジョイントを指定した名前の付いたトランスフォームグループ。 Agent Transform Group SOPを使用することで、エージェントセットアップネットワーク内にジョイントグループを作成することができます。
Min Collision Impulse
The minimum impulse from a collision that will cause this object to stick to another object. This value must be greater or equal to 0 for the objects to stick.
Max Collision Objects per Shape
The maximum number of other objects that this object can be stuck to. A value less than or equal to 0 allows this object to be stuck to any number of other objects.
Max Collision Points
The maximum number of anchor points (constraints) that can be used to stick this object to another object.
Collision Ignore
Sticky collisions will not occur when colliding with any objects that match this pattern.
The pattern uses the same syntax as the collisionignore
attribute.
これらのコントロールは、 RBD Ragdoll が Ignore または Animated Static に設定されている場合に利用可能です。 また、ラグドールに関しては( RBD Ragdoll が Active に設定されている場合でも) Partial Ragdoll または Motors が有効な時でも利用であり、ジョイントのアニメーションを制御するアニメーションクリップを設定することができます。
Clip Assignment
エージェントがこのステートに入った時に、特定のクリップまたは無作為のクリップをそのエージェントに割り当てるべきかどうかを指定します。 このClip Assignmentは、シミュレーションの頭( Set Initial Clip Name が有効な場合)、または、新しいステートへのトランジションが発生した時に実行されます。 何もクリップを割り当てなかった場合、エージェントがこのステートに入ってもそのエージェントの現行クリップが維持されます。
Crowd Transition DOPの Output Clip パラメータを使ってクリップを明示的に変更することもできます。
Clip Name
Clip Assignment が Single Clip に設定されている場合、ここには、現行ステートで再生するアニメーションクリップの名前を指定します。
Random Seed
Clip Assignment が Random Distribution に設定されている場合、このシードは、ランダムにクリップを選択する際に使用されます。
Clip Groups
Clip Assignment が Random Distribution に設定されている場合、ここには、カスタム分布のクリップのグループの数を指定します。
Clip Names
Clip Assignment が Random Distribution に設定されている場合、ここには、1つ以上のクリップ名が示された文字列パターンを指定します。 このパターンは、match VEX関数と同じ構文に準拠しています。 グループの Weight 値は、その一致したクリップ間で均等に分割されます。
Weight
Clip Assignment が Random Distribution に設定されている場合、ここには、クリップが選択される度合いを指定します。
Set Initial Clip Name
有効にすると、 Clip Assignment パラメータを使用してエージェントの初期クリップが上書きされます。
Initial Clip Time
有効にすると、このステートのすべてのエージェントに対して初期クリップ時間(秒)が設定されます。
Random Clip Offset
Initial Clip Time が有効な場合、これは、最大で指定した秒数だけ、各エージェントの初期クリップ時間をランダムに前倒します。
Random Seed
Random Clip Offset が有効な場合、このシードは、クリップ時間をランダムに可変させる際に使用されます。
Apply Locomotion Orientation
Clip Playback セクションの Type が Locomotive に設定されている場合、 Set Initial Clip Time が有効な時に、そのクリップのロコモーションデータに応じてエージェントの向きも変更するべきかどうかを指定します。
Type
Clip Speed Multiplier
アニメーションクリップの再生速度を調整するための乗数。
Locomotion Speed Multiplier
Type が Locomotive に設定されている場合、ここには、アニメーションクリップのロコモーションチャンネルの再生速度を調整するための乗数を指定します。
Variance (%)
Clip Speed Multiplier がランダムに増減できる割合。 例えば、 Clip Speed Multiplier が0.7、 Variance が10%なら、エージェントのクリップ速度乗数は、0.63から0.77の間のランダム値になります。
Random Seed
Variance が有効な場合、このシードは、クリップ速度をランダムに変化させる際に使用されます。
Last Frame Matches First Frame
このパラメータは、 Type が Locomotive に設定されている場合に利用可能です。 ロコモーションクリップがループするための一般的はワークフローは、最初のフレームのポーズに一致するようにクリップの最後に余分なフレームを追加することです。 クリップの最後のフレームは、Crowd Solverで使用され、最後のポーズから初期のポーズに戻す時に正しいロコモーションを決定します。 最後のフレームは、連続した2フレーム間で同じポーズにならないように、またはエージェントが突然後ろにジャンプしないようにクリップ時間を進めた時にスキップされます。
Enable Looping
有効にすると、クリップ再生は、そのクリップのループ範囲の最後に到達した後もループを続けます。 これは、Clip Propertiesを使用してクリップ毎に上書きすることができます。
Retime Clip to Match Particle Speed
RBD Ragdoll が Animated Static 、 Ignore のどれかに、 Type が In-Place に設定されている場合、これを有効にすると、 Gait Speed とパーティクルのVelocityに基づいてクリップの再生速度が調整されます。
Gait Speed
インプレースアニメーション(その場歩き)でエージェントが移動する速さを指定します。
このパラメータは、 RBD Ragdoll が Animated Static 、 Ignore のどれかに、 Type が In-Place に設定されていて、 Retime Clip to Match Particle Speed が有効な場合に利用可能です。
Allowed Variance (%)
クリップの時間を調整する大きさを指定します。
このパラメータは、 RBD Ragdoll が Animated Static 、 Ignore のどれかに、 Type が In-Place に設定されていて、 Retime Clip to Match Particle Speed が有効な場合に利用可能です。
Limit Particle Speed to Gait Speed Range
有効にすると、 Gait Speed と Allowed Variance で指定された範囲内にパーティクル速度が強制的に落とされます。
このパラメータは、 RBD Ragdoll が Animated Static 、 Ignore のどれかに、 Type が In-Place に設定されていて、 Retime Clip to Match Particle Speed が有効な場合に利用可能です。
Use VEXpressions
有効にすると、ローカルエクスプレッションを使用して、各エージェントの Clip Speed Multiplier と Variance を上書きすることができます。 右側にあるドロップダウンメニューから Pass Through を選択することで、修正可能な変数を調べることができます。
See also |