On this page |
概要
このノードは、特定のインスタンスのアニメーションのタイミングをオフセット/スケールさせます。 USDでは破壊的な編集が許可されていないので、新しいバージョンのインスタンスのプロトタイプを作成し、その新しいプロトタイプを参照するようにインスタンスをオーバーライドすることで、この処理を行ないます。
このノードには、インスタンス毎のオフセット/スケールを指定する方法が2つあります:
-
Primvarsからインスタンス毎のオフセット/スケールを取得することができます。
-
このノードの中(または、Houdiniノード階層内のどこか)で、ポイントクラウドを生成するSOPネットワークを作成することができます。 ポイントクラウドの各ポイントがインスタンスに呼応し、そのポイント上のSOPアトリビュートでオフセットとスケールを指定します。 以下のポイントクラウドの編集を参照してください。
Tip
Time Shift LOPを使えば、通常のPrimsのアニメーションをオフセット/スケールすることができます。
インスタンサーに対してTime Shift LOPを使用すると、すべてのインスタンスに対して平等に影響するのに対して、このノードは、個々にインスタンスの時間を変更することができます。
ポイントクラウドの編集
このノードでは、インスタンスを表現したポイントジオメトリを処理することでオフセットとスケールを指定可能なSOPネットワークを構築することができます。
-
"Internal SOP"を選択すると、このノードは、このノードの中のSOPサブネット内で構築されたノードを使用します。
-
このモードでは、自動的にポイントが生成され、ネットワークを介して送られます(
Sub-Network Input #1
の出力を処理ネットワークの1番目のノードに接続)。
-
-
"External SOP"を選択すると、Houdiniノード階層のどこかのSOPネットワークを指定することができます。 ただし、このSOPネットワークは、何かしらの方法で適切なアトリビュートを持ったポイントを生成しなければなりません。
-
ポイントには必ずインスタンサーのシーングラフパスが設定された
path
SOPアトリビュートがなければなりません。 -
デフォルトでは、このノードは、ポイント番号とインスタンスインデックスを呼応させることで、ポイントとインスタンスのマッチングを試みます。 おそらくこの方法だと、単一インスタンサーですべてのインスタンスを処理している場合でのみ動作します。 それ以外の場合、 Match by ID を有効にして、各ポイント上の
id
SOPアトリビュートにそれに呼応したインスタンスのインデックスを設定してください。
-
-
ポイント上に
frameoffset
やtimescale
のSOPアトリビュートを用意して、各ポイントに呼応するインスタンスに適用するオフセットやスケールを指定してください。
Tipsとメモ
-
このノードは、大量のインスタンスグループまたは特定のプロトタイプを共有したすべてのインスタンス上のアニメーションをオフセット/スケールさせるのに非常に上手く動作します。それぞれ別々のタイミングには別々のプロトタイプが必要になるので、インスタンス別に異なるオフセット/スケールを適用するとなった場合には、(同じ数のインスタンスとプロトタイプを用意することで)実質的にポイントインスタンスの"非インスタンス化"をすることになります。
-
In-Memoryレイヤー上で動的に生成されたプロトタイプをリタイムする場合、このノードの上流に
Cache LOPを接続する必要があるので、すべてのフレームがクックされて利用可能になります。
インスタンスが外部USDファイルから発生している場合、その外部USDファイルには必要なタイムサンプルがすべて含まれているはずなので、このCache LOPは不要になります。
-
デフォルトでは、プロトタイプのリタイムは、(インスタンスがそのプロトタイプPrims自体で定義されていない限り)インスタンスのトランスフォームやPrimvarsに影響を与えません。
Retime Transforms パラメータと Retime Primvars パラメータを使ってインスタンスレベルで定義されたトランスフォームとPrimvarsをリタイムするように選択することができます。
-
このノードは、フレームオフセットとタイムスケールの固有な組み合わせ毎に新しくリタイムされたプロトタイプのみを生成するように最適化されています。 しかし、このノードは、通常では膨大な処理をしなければならないことに変わりはないので、遅くなってしまいます。
パラメータ
Type
ポイントインスタンスまたはインスタンス化可能Primsのどちらをリタイムしたいのかを指定します。
Instances
/path[instance_index]
構文を使って、スペース区切りのインスタンスのリスト(例えば、/geometry/instancer[0] /geometry/instancer[1]
)を指定します。
大括弧の中のインデックスには、包含的な範囲(例えば、/geometry/instancer[4-7]
)を指定することができます。
複数のインデックス(例えば、/geometry/instancer[2][7]
)を使用することで、入れ子のインスタンサー内のインスタンスを参照することができます。
Instances
Type が"Native Instances"の時に、インスタンス可能なPrimsのパスのリストを指定します。
Source
選択したインスタンス毎のトランスフォームを計算する方法。 "Internal SOP"は、このノードの中のSOPサブネットを使って、各インスタンスを表現したポイントを処理します。 "External SOP"は、外部SOPネットワークを使用します。この場合、ゼロからインスタンスを表現したポイントを生成しなければなりません (上記のポイントクラウドの編集を参照してください)。 "Primitive Properties"は、インスタンサー上のオフセット/スケール配列Primvarsを取得します。
Match By ID
Source が"External SOP"の時にこれを有効にすると、このノードは、生成されたポイント上のid
SOPアトリビュートを検索します。
id
は、該当するインスタンスのインデックスにしてください(これを無効にすると、このノードは、ポイント番号をインスタンスインデックスを呼応させるので、単一インスタンサーですべてのインスタンスを処理している場合でのみ動作します)。
SOP Path
Source が"External SOP"の時、生成しておいたポイントの取得先のジオメトリノードのノードパスを指定します。 その出力内の各ポイントを選択したインスタンスのどれかに呼応させてください。
Group
Source が"External SOP"の時、指定したジオメトリノードの出力から、ここで指定したポイントグループのポイントのみが考慮されます。
Frame Offset Attribute
Source が"Internal SOP"または"External SOP"の時、インスタンス毎のフレームオフセットを含んだSOP Pointアトリビュートの名前を指定します。 これを無効にすると、このノードはインスタンス単位でフレームオフセットを適用します。
Frame Offset Primvar
Source が"Primitive Properties"の時、インスタンス毎のフレームオフセットを含んだインスタンサー上の配列Primvarの名前を指定します。 これを無効にすると、このノードは任意のフレームオフセットを適用します。
Global Frame Offset
インスタンス毎のオフセットに加えて、このオフセットをすべてのインスタンスに平等に適用します。
Time Scale Attribute
Source が"Internal SOP"または"External SOP"の時、インスタンス毎のタイムスケール係数を含んだSOP Pointアトリビュートの名前を指定します。 これを無効にすると、このノードは任意のタイムスケールを適用します。
Global Time Scale
インスタンス単位のスケールに加えて、このタイムスケール係数をすべてのインスタンスに平等に適用します。
Retime Transforms
デフォルトでは、インスタンストランスフォームにアニメーションが付いていても、このノードはトランスフォームアニメーションに影響を与えません。 これを有効にすると、トランスフォームアニメーションもリタイムされます。
Retime Primvars
デフォルトでは、インスタンスレベルのPrimvarsにアニメーションが付いていても、このノードはPrimvarアニメーションに影響を与えません。 これを有効にすると、Primvarアニメーションもリタイムされます。
See also |