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

モーションパス系アトリビュート

SOP群衆モーションパス用アトリビュート。

On this page

概要

各モーションパスは、時間軸におけるエージェントのパスを表現したポリラインで、各ポイントはタイムサンプルです。パス上の各ポイントに、以下を行なうアトリビュートがあります:

  • エージェントの位置と全体的な方向を示しています。

  • 再生するクリップの特定のサンプルを決定します。

  • 複数のクリップ間のブレンドによってエージェントのポーズを計算する方法を示しています。

一部のCrowd MotionPathツールは、クリップアトリビュート、ポジションアトリビュート、または両方を操作します。

モーションパス系アトリビュート

名前 クラス タイプ 説明
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をエージェントシェイプジオメトリの一部として追加/拘束すれば、エージェントの動きに基づいて布をシミュレーションすることができます。

地形

  • 足の着地

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

  • 地形

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

  • 障害物

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