On this page | |
Since | 15.5 |
Clip Transition Graphを使用すれば、アニメーションクリップ間をどのようにトランジションさせるのか制御することができます。 そこには、お互いにトランジション可能なクリップに関する情報、それらのクリップ内でトランジションを発生させる箇所に関する情報が備わっています。 これを使用することで、現行アニメーションクリップ内の適切な箇所までクリップトランジションを遅らせたり、ポーズが似たような時に次のクリップへ滑らかにブレンドさせることができます。 ソースクリップとターゲットクリップがお互いに直接的にトランジションさせることができない場合、そのターゲットクリップまでの最短経路に沿って途中にあるクリップを使用して一連のトランジションが実行されます。
Tip
Test Simulation: Crowd Transition SOPを使用することで、群衆シミュレーションをセットアップする前に、特定のクリップ間のトランジションを簡単にプレビューすることができます。
使い方 ¶
Clip Transition Graphジオメトリは、 Clip Transition Graph パラメータを介して明示的にCrowd Object DOPに渡すことができるので、群衆シミュレーション内のどのトランジションにも使用することができます。
他には、Clip Transition Graphジオメトリをエージェント定義内に__transitiongraph__
という名前のシェイプとして保存することもできます。
これは、Agent Clip Transition Graph SOPの2番目の出力を使用して設定することができます。
このAgent Clip Transition Graph SOPはClip Transition Graphを入力エージェントのシェイプライブラリに追加します。
Clip Transition Graphをエージェント定義内に保存することで、ネットワーク経由で別のジオメトリストリームを流す必要がなくなります。 さらには、エージェント定義のシェイプライブラリと一緒に簡単にClip Transition Graphをディスクにキャッシュ化することができます。 このワークフローは、Crowd MotionPath Transition SOPでは必須であり、Clip Transition Graphジオメトリが明示的に渡されていない時のCrowd Object DOPでも対応しています。
Tip
Clip Transition Graphジオメトリは、Agent Unpack SOPを使用することでエージェント定義から取得することができます:
-
Output を Rest Geometry に設定します。
-
Unpack Shapes From を Shape Library に設定します。
-
シェイプをアンパックするには、 Shapes を
__transitiongraph__
、 Iterations を2
に設定します。 -
必要であれば、 Apply Agent Transform を無効にすることで、入力エージェントのトランスフォームがジオメトリに適用されないようにすることができます。入力に複数のエージェントプリミティブが含まれている場合にジオメトリが重複して生成されないようにするには、 Limit to Unique Agent Definitions を有効にします。
アトリビュート ¶
Clip Transition Graphジオメトリ内の各ポイントは、アニメーションクリップを表現し、各2点ポリゴンは、クリップ間の(1方向の)遷移を表現します。
名前 | クラス | タイプ | 説明 |
---|---|---|---|
clipname
|
point | string |
アニメーションクリップの名前を指定します。 |
agentname
|
point | string |
この文字列は、エージェントの |
blend_durations
|
primitive | float array |
トランジション領域毎に、その領域で始まるトランジションの期間(秒)を指定します。 |
sync_points
|
primitive | vector2 array |
トランジション領域毎に、その2つのアニメーションクリップで似たポーズを持つクリップ時間(秒)のペアを指定します。 |
transition_regions
|
primitive | vector2 array |
最初のアニメーションクリップに対して、トランジションを起こすことができるクリップ時間の範囲(秒)を指定します。 |
パラメータ ¶
Transitions ¶
Units
時間パラメータの単位を指定します。ここには、 Frames (Houdini FPS)または Samples (クリップのサンプルレート)を指定することができます。
Compute Transition Graph
有効にすると、エージェントのアニメーションクリップに対してトランジショングラフが自動的に構築されます。 各クリップのペアに関しては、これは、エージェントのポーズが似ている連続フレームのグループを検索します。
Tolerance
Compute Transition Graph が有効な時、ここには、ポーズを比較してクリップ間で適切な遷移ポイントを検索する際に使用される許容値を指定します。
Toleranceが0
の場合、比較するポーズが同一である必要があり、Toleranceを大きくすることで、比較するポーズがさほど同じである必要がなくなります。
Blend Frames
Compute Transition Graph が有効な時、ここには、アニメーションクリップ間のトランジションの長さを指定します。
Transform Group
Compute Transition Graph が有効な時、ポーズのペアを比較する時、その比較をエージェントのリグのこのグループのトランスフォーム(例えば、下半身)に制限することができます。
Filters
トランジションポイントを検索するクリップのペアを制限します。 通常のパターンマッチング構文(match VEX関数で使用する構文と同じ)を使用することで、ソースクリップとターゲットクリップを複数指定することができます。
例えば、sit_to_stand
クリップからトランジションを開始し、stand_1
とstand_2
のクリップまでのトランジションだけを検索するには、 Clip A にsit_to_stand
、 Clip B にstand_*
を設定します。
クリップが Clip A パターンのどれにも合致しなかった場合、他のすべてのクリップは使用する可能性のあるクリップであると見なされます(フィルターを指定しなかった時と同じ挙動)。
Clip A が*
で Clip B が空っぽのフィルターを含めると、他のフィルターで指定されたトランジション以外のすべてのトランジションが除外されます。
Clip A Pattern
Compute Transition Graph が有効な時、ここには、トランジション(遷移)元のアニメーションクリップ(s)の名前(s)を指定します。 Filters と同様に、パターンを指定することもできます。
Clip B Pattern
Compute Transition Graph が有効な時、ここには、トランジション(遷移)先のアニメーションクリップ(s)の名前(s)を指定します。 Filters と同様に、パターンを指定することもできます。
Extra Transitions
アニメーションクリップのペア間でセットアップする追加トランジションの数。
Clip A
トランジション(遷移)元のアニメーションクリップの名前。
Clip B
トランジション(遷移)先のアニメーションクリップの名前。
Initialize from Computed Transition Regions
Compute Transition Graph が有効な時に計算された値を Transition Regions パラメータに設定します。 これを使用することで、その計算されたトランジション領域を手動で編集することができます。
Transition Regions
トランジション(遷移)が起こり得るクリップ内の領域の数。
Sync Frame A
ポーズが Clip B の Sync Frame B に似ている Clip A のフレームを指定します。
Transition Region
トランジション(遷移)を開始できるフレーム範囲を指定します。通常では、 Sync Frame A の範囲を含めてください。
Sync Frame B
ポーズが Clip A の Sync Frame A に似ている Clip B のフレームを指定します。
Blend Frames
クリップ間のトランジション(遷移)の長さを指定します。
Show Guide Geometry
有効にすると、 Clip A の Sync Frame A でのエージェントポーズと Clip B の Sync Frame B でのエージェントポーズを視覚化したガイドジオメトリが表示されます。 これは、クリップが上手く揃っているフレームのペアを見つけるのに役立ちます。 このパラメータは、 Visualize Sync Frames が無効な時は利用不可です。
Guides ¶
Point Separation
トランジショングラフジオメトリを視覚化する時、ポイントはこの半径から引き離されます。
Visualize Clip Name
有効にすると、トランジショングラフジオメトリ内の各ポイントが表現しているクリップ名を表示します。
Visualize Sync Frames
無効にすると、同期フレームの視覚化が無効になります( Show Guide Geometry パラメータをオーバーライドします)。 Extra Transitions と Transition Regions にはたくさんのマルチパラメータエントリーを追加することができるので、 これによって、すべてのガイドジオメトリを簡単に無効にすることができます。
Agent Separation
Visualize Sync Frames が有効な時、これは、同期フレームを視覚化したときに2体のポーズの間隔を制御します。
入力 ¶
Agent
エージェントプリミティブ。
Existing Clip Transition Graph
トランジション(遷移)の追加先となる既存のクリップトランジショングラフ。
Clip Properties
クリップの再生方法に関する高度なオプションを示したジオメトリ(Agent Clip Properties SOPからのジオメトリ)。 開始フレームやループ範囲のオーバーライドが考慮され、さらに、クリップ名のエイリアスによるトランジションも設定することができます。
出力 ¶
Clip Transition Graph
元のクリップトランジショングラフジオメトリとこのSOPで追加されたトランジションを含んだクリップトランジショングラフジオメトリ(元のグラフ内の同じクリップペアのトランジション領域をオーバーライドします)。
Agent
シェイプライブラリにクリップトランジショングラフジオメトリが追加された入力エージェントプリミティブ。
Examples ¶
このサンプルでは、クリップトランジショングラフを使用することで、ステートのトランジションに対してトランジションクリップを用意する方法を説明しています。
このサンプルでは、Crowd MotionPath Transition SOPを使用して(Clip Transition Graphで定義された中間遷移クリップなどの)アニメーションクリップ間をブレンドする方法を説明しています。
See also |