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

Motion path attributes

Attributes for SOP crowd motion paths.

On this page

Overview

Each motion path is a polyline representing the path of an agent over time, where each point is a time sample. At each point on the path, there are attributes that:

  • Describe the position and overall orientation of the agent.

  • Determine a particular sample of a clip to be played back.

  • Describe how to compute the agent’s pose by blending between multiple clips.

Some of the Crowd MotionPath tools manipulate the clip attributes, position attributes, or both.

Motion path attributes

名前 クラス タイプ 説明
P point vector

タイムサンプルでのエージェント全体の位置。

transform point matrix3

タイムサンプルでのエージェント全体のトランスフォーム。

time point float

タイムサンプルに呼応する時間(秒)。

custompose point group

エージェントのポーズがclipnamesなどのクリップ関連のアトリビュートから評価されないように指示します。 代わりに、そのエージェントのオリジナルポーズがそのまま残され、そのエージェントのプリミティブトランスフォームのみが更新されます。

これは、インバースキネマティクスやラグドールシミュレーションなどのツールで生成されたカスタムポーズを維持しつつ、アニメーションエージェントのパス(例えば、群衆シミュレーションの出力)を編集するためのものです。

clipnames point string[]

タイムサンプルでエージェントのポーズを評価する時にブレンドされるアニメーションクリップのリスト。

cliptimes point float[]

各アニメーションクリップを評価するクリップ時間。 これは、clipnamesアトリビュートと同じ配列長にしてください。

clipweights point float[]

アニメーションクリップに使用するブレンドウェイト。 これは、clipnamesアトリビュートと同じ配列長にしてください。

cliploops point int[]

各アニメーションクリップで発生したループの回数を追跡します。 これは、clipnamesアトリビュートと同じ配列長にしてください。

レイヤー化アニメーションのアトリビュート

以下のアトリビュートは、基本的なアニメーションブレンドモデルを拡張して、アニメーションクリップのレイヤー化とブレンドをするためのツリー構造を表現しています。 これらのアトリビュートは、レイヤー化アニメーションクリップのPrimitive Intrinsicsに呼応しています。

名前 クラス タイプ 説明
cliptransformgroups point string[]

各クリップに使用するトランスフォームグループの名前。 これは、スケルトン内のトランスフォームまたはチャンネルのサブセットにクリップを適用するのに使用されます。

cliplayerids point int[]

各クリップが入力となっている(cliplayermodesの)レイヤーインデックス。

cliplayermodes point int[]

各レイヤーのブレンドモードを指定します(このリストの長さは、階層内のレイヤーの数を制御します)。 有効な値は0(デフォルトのinterpolateブレンドモード)と1(additiveブレンドモード)です。 additiveブレンドモードは、入力クリップ間を補間するのではなくて、1番目の入力クリップに対して(レイヤーのブレンドウェイトで制御された割合で)他のクリップの移動と回転を適用します。

cliplayerweights point float[]

各レイヤーのブレンドウェイトを指定します。 clipweightsと同様に、これは、レイヤーの出力が他のレイヤーの入力になっている時に使用されます。 このウェイトは最上位レイヤーでは使用されません。

cliplayerparents point int[]

cliplayeridsと同様に、レイヤーが入力となっているそのレイヤーインデックスを指定します。 最上位レイヤーの親インデックスは-1です。

群衆シミュレーション

はじめよう

  • 基本

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

  • セットアップ

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

動くパーツ

  • エージェント

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

  • ステート

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

  • トリガー

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

  • キャッシュ

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

SOP群衆

挙動

外観

  • 多様性

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

  • 布の取り付け

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

地形

  • 足の着地

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

  • 地形

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

  • 障害物

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