Houdini 20.0 群衆シミュレーション

エージェントアトリビュート

トリガを読み込んだり、挙動に影響を与えるために設定できる便利なアトリビュートについて説明します。

On this page

ジオメトリネットワークでアトリビュートを設定する

これらのアトリビュートの多くは、Crowd Sourceノードのパラメータにより初期化され、いくつかの、またはすべてのエージェントで上書きすることもできます。

  • ポイントをCrowd Sourceノードの入力として使用している場合、ポイントの群衆関連のアトリビュートがエージェントにコピーされます。

  • または、アトリビュートをAttributeノードAttribute Wranglerを使って、Crowd Sourceノードにより作成されたエージェントプリミティブに適用できます。

Crowd Sourceの入力はポイントですが、出力は(エージェント)プリミティブであることに注意してください。

ステートビヘイビアの一部としてエージェントアトリビュートを変更する方法も参照してください。

アトリビュートを可視化する

ビューポートのグループやアトリビュートのリストを使用してエージェントアトリビュートを可視化することもできます。 Display Optionsウィンドウのグループリストをオンにします。 次に、ギアメニューを使用して Points モードへグループリストを切り替えます。 ギアメニューの Attributes サブメニューを使用して、可視化するエージェントアトリビュートを選択します。 例えば、stateアトリビュートを可視化すると、エージェントの現在の状態により、各エージェントに色が付きます。 歩いているすべてのエージェントにある色が付き、立っているすべてのエージェントに別の色が付きます。

アトリビュート

Geometry Spreadsheetを使用してエージェントプリミティブのアトリビュートを見ます。

agentgroup

string

Crowd Source SOPの Create Group が有効な時に作成されます。このアトリビュートを使用することで、特定のソースから作成されたエージェントを区別することができます。

On point

agentname

string

エージェントのタイプ(エージェント定義)に対する固有の識別子。例えば、soldierとかaverage_maleです。

On point

crowdactive

int

Crowd Solverによってエージェントを動かすべきかどうか、そのポーズを更新するべきかどうかを追跡するためにCrowd Solverで内部的に使用されています。 この値は、ステートのラグドール設定とcrowdanimated Pointアトリビュートで決まります。

On point

crowdanimated

int

エージェントのトランスフォームとポーズが外部から更新されていることをCrowd Solverに伝えます。 つまり、i@crowdactive==0を意味します。

On point

Cd

vec3

この特定のエージェントに対するビューポートでの可視カラー。グループや個々を区別するのに便利です。

On point

heading

vec3

エージェントが向くターゲット方向。 Crowd Solverを使用する時、upheadingには、エージェントのターゲット方向を指定します。orientはエージェントの実際の方向です。 これらのアトリビュートは、max turn rateなどのパラメータによっては異なります。

On point

id

int

この特定のエージェントを識別する固有の番号。

On point

maxturnrate

float

エージェントがソルバのデフォルトの動きの挙動により動作する場合、エージェントが回転する最大レート(度/秒)。 このアトリビュートは、Crowd SolverのデフォルトのMax Turn Rateを上書きします。

On point

nextstate

string

一度トランジションが発動されると、このアトリビュートには、エージェントの次のステートの名前が格納されます。

On point

orient

quaternion

エージェントの向き。

On point

pscale

float

エージェントの“半径”。

On point

state

string

エージェントの現在のステートの名前。例えば、walk

On point

stateduration

float

エージェントが現在のステートになっている時間(秒)。

On point

steerforce

float

現在のタイムステップで、ソルバによりエージェントに適用されるフォース量。挙動ノードはこの値を変更して、エージェントを動かします。

On point

steerforceweight

float

steerforceに寄与しているすべての挙動ノードの合計ウェイト。ソルバはこれを使用して、エージェントに適用するフォースを正規化します。

On point

up

vector

エージェントのUpベクトル。 Crowd Solverを使用する時、upheadingには、エージェントのターゲット方向を指定します。orientはエージェントの実際の方向です。 これらのアトリビュートは、max turn rateなどのパラメータによっては異なります。

On point

v

vector

エージェントの現在のVelocity。

On point

See also

群衆シミュレーション

はじめよう

  • 基本

    Houdiniにおける群衆シミュレーションの考え方の概要を説明します。

  • セットアップ

    群衆シミュレーションのセットアップと編集の方法

動くパーツ

  • エージェント

    群衆シミュレーションの要員である動くアクターであるエージェントについて説明します。

  • ステート

    エージェントのステート、各エージェントのアニメーションや仕草を制御する仮想的な雰囲気について。

  • トリガー

    エージェントのステートを変更する条件を指定する方法です。

  • キャッシュ

    群衆シミュレーションの効率的なキャッシュ化と読み込みのTips。

SOP群衆

挙動

外観

  • 多様性

    エージェントに異なる外観と行動を作成することで、より現実的な群衆を作成する方法。

  • 布の取り付け

    Vellum Clothをエージェントシェイプジオメトリの一部として追加/拘束すれば、エージェントの動きに基づいて布をシミュレーションすることができます。

地形

  • 足の着地

    エージェントのアニメーションを地形に適応させて滑りを回避するためのセットアップ方法。

  • 地形

    エージェントが歩く地形ジオメトリを指定する方法です。

  • 障害物

    エージェントが回避する障害物を設定する方法です。