On this page |
概要
このCHOPは、2番目の入力( 参照 クリップ)を参照として使用して、1番目の入力( ソース クリップ)をタイムワープさせます。 このノードは、ソースクリップのモーションが参照クリップのモーションと似通った感じになるようにタイムワープさせます。 この処理は、ソースのポイントセットをサンプリングすることで行なわれています。
アニメーションクリップをCHOPsに取り込む方法
いくつかの色々な方法でオブジェクトノードとSOPノードのトランスフォームをCHOPsに取り込むことができます:
-
Object Chain CHOPを使用することで、オブジェクトレベルのモーションキャプチャークリップからアニメーションを取り込むことができます。 このような処理をするには、Object Chain CHOPの Start Object パラメータにモーションキャプチャークリップを含んだObjectサブネットを設定してから、 End Object を無効にする必要があります。 これによって、そのモーションキャプチャークリップの子オブジェクトのすべてのトランスフォームが直接CHOPsに取り込まれます。
モーションキャプチャファイルをHoudiniで読み込めるデータに変換する方法を知りたいのであれば、モーションキャプチャー を参照してください。 モーションキャプチャーデータを変換すると、その工程で
File CHOPと一緒にスケルトンを含んだサブネットが作成されます。 このFile CHOPは、生成されたクリップファイルを読み込み、そのデータをオブジェクトレベルのボーンに接続します。
-
Agent CHOPを使用することで、エージェントにベイクされたアニメーションを取り込むことができます。 このような処理をするには、Agent CHOPを使用してアニメーションクリップをCHOPsに取り込み、Dynamic Warp CHOPを使用してそれらのモーションデータを処理してから、
Agent Clip SOPを使用してその修正されたモーションデータをエージェントに戻すことができます。
-
Geometry CHOPを使用することで、手動で作成されたSOPポイントトランスフォームからアニメーションを取り込むことができます。 このような処理をするには、Geometry CHOPを使用してアニメーションクリップをCHOPsに取り込み、Dynamic Warp CHOPを使用してそれらのモーションデータを処理してから、
Channel SOPノードを使用してその修正されたモーションデータをSOPsに戻すことができます。
モーションデータ入力
Dynamic Warpは、そのノードの入力のモーションデータを単一チャンネルデータ(移動だけ)または3次元データ(移動と回転)のどちらとしても読み込むことができます。
Interpret As Motion Dataパラメータを使用することで、読み込みたい入力のタイプを指定することができます。
モーションワープメソッド
Warp Method を Synchronize Entire Clip に設定すると、このノードは、ソースクリップをその全長の出力に対して参照クリップと同期させることを試みます。 この処理は、ソースクリップができるだけ参照クリップと似通った感じになるようにソースクリップの全長の出力に対してソースをサンプリングすることで行なわれます。 このメソッドは、Dynamic Time Warpアルゴリズムに基づいています。
このメソッドは、ソースクリップと参照クリップが最初から似通っている場合に非常に上手く動作します。 例えば、2つの歩行アニメーションを歩調を合わせて歩くようにタイムワープさせるのが優れています。
Warp Method を Create Similar Motions に設定するとこのノードは、ソースクリップの各セクションが参照クリップのどれかのセクションに似通った感じになるようにタイムワープさせることを試みます。 さらに、ソースクリップの出力の長さを定義することができます。 このメソッドは、モーションデータで使用することを目的としており、Guided Time Warpアルゴリズムに基づいています。
Create Similar Motions メソッドの機能のいくつかを強調するために、このメソッドが上手く動作する例をいくつか以下に載せます:
-
一回の殴打アニメーションが入った参照アニメーションと多くの殴打アニメーションが入ったソースアニメーションがあった場合、その参照アニメーションの速度に合うようにソースアニメーション内の各殴打アニメーションの速度がタイムワープされます。
-
歩行アニメーションがソースと参照のどちらにも使用した場合、一歩一歩に同じ時間がかかります。
-
単一アニメーションをソースと参照のどちらにも使用してクリップ長を短くした場合、各モーションのタイミングはそのまま維持され、不活発な期間が短くなります。
モーションデータ出力
このCHOPには出力モードが3つあります:
-
Channels モードでは、出力はソースをタイムワープさせたチャンネルになります。
-
Warp Index Curve モードでは、出力は、タイムワープを表現した単一チャンネルになります。 このカーブ上の各ポイントは、タイムワープさせるのに必要なソースのフレームインデックスです。 このカーブは、 Method を Index Control に設定した
Warp CHOPで使用することができます。
-
Warp Rate Curve モードでは、出力は、タイムワープを表現した単一チャンネルになります。 このカーブ上の各ポイントは、そのポイントにおけるタイムワープのサンプリングレートを意味します。 このカーブは、 Method を Rate Control に設定した
Warp CHOPで使用することができます。
パラメータ
Channels
これらのパラメータには、モーションデータを表現したチャンネル(存在すれば)を指定します。
Interpret As Motion Data
入力クリップを3次元モーションデータとして解釈するかどうかを決めます。 これを有効にすると、入力クリップが3次元モーションデータ(移動と回転)として扱われるので、すべての Joint Translation と Locomotion Translation のチャンネルを設定する必要があります。 これを無効にすると、入力クリップが単一チャンネルモーションデータ(移動のみ)として扱われます。
Joint Translation
ジョイント位置の入力チャンネルを指定します。 このノードは、これらのチャンネルをX,Y,Zの移動チャンネルとして扱います。 これらのパラメータフィールドで指定するチャンネルは同じサイズにしてください。
Locomotion Translation
ロコモーション位置の入力チャンネルを指定します。 このノードは、これらのチャンネルを、オブジェクト(前進する移動チャンネルを含んだノード)のロコモーションを決めるジョイントのX,Y,Zの移動チャンネルとして扱います。 これらのチャンネルそれぞれは、 Joint Translation で定義されたセットから選択してください。
Warp Method が Create Similar Motions に設定されている場合、これらのチャンネルの加速度が考慮されます。
Locomotion Rotation
ロコモーション回転の入力チャンネルを指定します。 このノードは、これらのチャンネルを、オブジェクト(前進する移動チャンネルを含んだノード)のロコモーションを決めるジョイントのX,Y,Zの回転チャンネルとして扱います。 これらのチャンネルを Joint Translation のメンバーに しないでください 。 これらのチャンネルのどれかを設定した場合、すべての3つのチャンネルを設定する必要があります。
Locomotion Rotation パラメータを設定すると、各ジョイントのモーションがロコモーションジョイントの位置と回転を基準に比較されるようになります。
Warp
これらのパラメータは、出力の設定とタイムワープのアルゴリズムを変更します。
Output Method
Warp Method
ソースクリップを参照クリップにタイムワープさせる際に使用するメソッドを決定します。
Synchronize Entire Clip
ソースクリップが参照クリップと同期するようにタイムワープされます。 このメソッドの場合、参照クリップはループクリップとして扱われます。
Create Similar Motions
ソースクリップの各モーションが参照クリップのどこかのモーションと似通った感じになるようにタイムワープされます。
Max Step
一度にスキップできるソースの最大連続フレーム数を決定します。
このパラメータは、 Warp Method が Synchronize Entire Clip に設定、且つ、 Interpret As Motion Data が 無効 になっている場合にのみ無効にすることができます。
Max Stall
同じフレームを繰り返すことができる回数を決定します。 Interpret As Motion Data が有効になっている場合、フレームを繰り返すのではなくて、フレームが補間されます。
このパラメータは、 Warp Method が Create Similar Motions に設定されている場合にのみ利用可能で、 Interpret As Motion Data が 無効 になっている場合にのみ無効にすることができます。
Scale Source Length
タイムワープを開始する前にソースの長さを乗算します。 これは、出力のレートにも関係してきます。
Create Similar Motions メソッドを使ってソースのセクションをスローダウンさせたい場合は、このパラメータを 1 よりも大きくしてください。
これを x に設定した場合、 Method を Same Rate, New Interval に設定、且つ、 Sample Rate をソースのレートの x 倍に設定したResample CHOPを使ってソースを再サンプリングすることと同じになります。
このパラメータは、 Warp Method が Create Similar Motions に設定されている場合にのみ利用可能です。
Nearest Neighbors
ソースクリップ内の各モーションをマッチさせる参照クリップ内のモーションの数を指定します。
このパラメータは、 Warp Method が Create Similar Motions に設定されている場合にのみ利用可能です。
Output Length
出力の長さの 指定方法 を決定します。
By Time
タイムワープの長さを時間で指定します。
By Length Scale
タイムワープの長さをソースの長さの倍数で指定します。
Optimize Length
タイムワープの長さを Warp Method で決定します。 これは、ソースクリップが参照クリップにできるだけ上手くタイムワープできる長さを求めることを試します。
このパラメータは、 Warp Method が Create Similar Motions に設定されている場合にのみ利用可能です。
Time
タイムワープの長さを時間で指定します。
このパラメータは、 Output Length が By Time に設定されている場合にのみ利用可能です。
Length Scale
タイムワープの長さをソースの長さの倍数で指定します。
このパラメータは、 Output Length が By Length Scale に設定されている場合にのみ利用可能です。
Common
これらのパラメータのいくつかは、すべてのCHOPノードで利用できない場合があります。
Scope
影響を受けるチャンネルを決めるために、いくつかのCHOPにはスコープ文字列があります。パターン(例えば、*
(すべてに一致)、?
(1文字に一致))は、スコープで使用可能です。
以下に可能なチャンネル名マッチングオプションの例を載せます:
chan2
単一チャンネル名に一致します。
chan3 tx ty tz
スペース区切りで4つのチャンネル名に一致します。
chan*
chan
で始まる各チャンネルに一致します。
*foot*
チャンネル名にfoot
が含まれる各チャンネルに一致します。
t?
?
は1文字に一致します。t?
はt
で始まる2文字のチャンネルに一致します。
r[xyz]
rx
、ry
、rz
のチャンネルに一致します。
blend[3-7:2]
指定した範囲の番号のチャンネルblend3
、blend5
、blend7
に一致します。
blend[2-3,5,13]
チャンネルblend2
、blend3
、blend5
、blend13
に一致します。
t[xyz]
[xyz]
はチャンネルtx
、ty
、tz
に一致します。
Sample Rate Match
Sample Rate Matchオプションは、複数の入力CHOPのサンプルレートが異なる場合を処理します。
Resample At First Input’s Rate
1番目の入力のレートを使って他の入力を再サンプリングします。
Resample At Maximum Rate
一番高いサンプルレートに再サンプリングします。
Resample At Minimum Rate
一番低いサンプルレートに再サンプリングします。
Error if Rates Differ
異なるサンプルレートを受け入れません。
Units
指定したTimeパラメータの単位。
例えば、秒(デフォルト)、フレーム(HoudiniのFPS)、サンプル(CHOPのサンプルレート)の単位で持続する遅延の時間の長さを指定することができます。
Note
Unitsパラメータを変更する時、既存のパラメータを新しい単位に変換しません。
Time Slice
Time Slicingはクッキングパフォーマンスを良くしメモリ使用量を少なくする機能です。慣例上、CHOPは全体のフレーム範囲のチャンネルを計算します。チャンネルをフレーム毎に評価する必要がないなら、全体のチャンネル範囲をクッキングするのは不必要です。必要なチャンネルの部分だけを計算するほうが効率的です。この部分のことをTime Sliceと呼びます。
Unload
CHOPで使われるメモリをそのCHOPのクックが終わったあとにリリースして、次のCHOPにデータを渡します。
Export Prefix
ExportプリフィックスをCHOPチャンネル名の前に追加することで、エクスポートする場所を決めることができます。
例えば、CHOPチャンネル名がgeo1:tx
で、プリフィックスが/obj
なら、チャンネルは、/obj/geo1/tx
にエクスポートされます。
Note
Export Prefix を空白のままにすることができますが、CHOPトラック名をobj:geo1:tx
のように絶対パスの名前にする必要があります。
Graph Color
すべてのCHOPには、このオプションがあります。各CHOPはGraphポートの表示で割り当てられたデフォルトのカラーを取得しますが、Graph Color下のCommonぺージ内のカラーを上書きすることができます。Paletteには36個のRGBカラーの組み合わせがあります。
Graph Color Step
グラフがアニメーションカーブを表示し、CHOPに2つ以上のチャンネルがある時、これは、虹色のカラースペクトルを指定して、あるチャンネルから次のチャンネルへカラーを別のカラーに定義します。
入力
First Input
この入力にはソースモーションクリップを接続します。
Second Input
この入力には参照モーションクリップを接続します。
この参照のチャンネルの名前は、ソースのチャンネルの名前に必ず合わせてください。
See also |