On this page | |
Since | 12.0 |
Alembicフォーマットに関する詳細は、そのリンクを参照してください。
Tipsとメモ ¶
-
オブジェクトに
abc_collapse
というSpareパラメータを追加し、その値をゼロ以外の値にすると、このノードはそのオブジェクトをスキップしてアーカイブから除外します。 Collapse パラメータを参照してください。 -
Alembicライブラリには、このノードが満たそうとする必要なジオメトリアトリビュートがいくつか存在します。ポリゴンメッシュの場合、Alembicライブラリは他のアトリビュートとは別にポジション(
P
)、法線(N
)、テクスチャ座標(uv
)、Velocity(v
)を扱います。このノードは、他のアプリケーションと互換性を良くするために、Alembicライブラリで求められる形式でジオメトリの表現を試みます。例えば、
v
が頂点アトリビュートとして存在していれば、このノードはそのv
をポイントアトリビュートとして書き出します。この混乱を避けるために、その“特別な”アトリビュートのどれとも異なった名前を使用します。 例えば、どうしても頂点Velocityをエクスポートする必要があるのであれば、
v2
とかvv
といった何か別の名前でアトリビュートを付けてください。
パラメータ ¶
Render to Disk
直近のレンダーコントロール設定でレンダリングを開始します。
Controls
レンダリング前にレンダーパラメータの調整が可能なレンダーコントロールダイアログを開きます。
Valid Frame Range
このレンダーノードが、現行フレーム( Render Current Frame )または Start/End/Inc パラメータ( Render Frame Range )で指定した画像シーケンスを出力するかどうか制御します。
Render Frame Range Only (Strict) は、レンダリング時にSTARTからENDまでのフレームをレンダリングしますが、この範囲外のフレームのレンダリングをまったく許可しません。 Render Frame Range はフレーム外のレンダリングを許可します。これは、レンダー依存関係との組み合わせで使われます。また、Render Controlダイアログ内の'Override Frame Range'の挙動に影響を与えます。
strict
の挙動にしたい場合が2つ考えられます:
-
geoファイルに書き出した60フレームのウォークサイクルを、それよりも範囲が広いROPネットワークの一部としてレンダリングする時。
-
1-20までのテクスチャループ。
そうでないなら、通常は、これをnon-strictに設定します。
Render Current Frame
プレイバーの値、または接続された出力レンダーノードで要求されたフレームに基づいて1枚のフレームをレンダリングします。
Render Frame Range
フレームシーケンスをレンダリングします。出力レンダーノードが接続されていれば、その出力レンダーノードで要求されたフレームが優先されるので、この範囲は、一般的には無視されます。
Render Frame Range Only (Strict)
フレームシーケンスをレンダリングします。出力レンダーノードが接続されていれば、その出力レンダーノードで要求されたフレームをこのフレーム範囲に制限します。
Start/End/Inc
レンダリングするフレーム範囲を指定します(開始フレーム、終了フレーム、増分値)。それらの値に浮動小数点を指定することができます。フレーム範囲は、その値を含みます。
これらのパラメータは、出力ドライバの以下のローカル変数の値を決めます。
$NRENDER
出力ドライバがレンダリングするフレーム数。
$N
レンダリング中の現行フレーム(この値の範囲は、1から$NRENDER
です)。
例えば、パラメータを以下の設定にしたとします:
Start |
10.5 |
End |
12 |
Inc |
0.5 |
4フレーム(10.5、11、11.5、12)がレンダリングされるので、$NRENDER
の値は4になります。$N
は以下の値になります:
Frame |
$N |
---|---|
10.5 |
1 |
11 |
2 |
11.5 |
3 |
12 |
4 |
Render With Take
出力ドライバが、レンダリング前に、このテイクに切り替わり、そして、レンダリングが終わると現行テイクに戻ります。
Tip
chs("take")
を使えば、他のパラメータで、この値を使うことができます。詳細は、chsエクスプレッション関数を参照してください。
Alembic File
生成するアーカイブの名前。
Format
生成するアーカイブのファイルフォーマット。
Default
Houdiniの現行バージョンでデフォルトのファイルフォーマットを使用します。
HDF5
HDF5ファイルフォーマットを使用します。HDF5は一般的な階層データフォーマットで、HDF5ファイルを閲覧/編集するツールがいくつか存在しています。
Ogawa
Ogawaファイルフォーマットを使用します。Ogawaは、Alembic 1.5として利用可能なAlembic特有のファイルフォーマットです。 Ogawaファイルは、HDF5ファイルと比べて平均的には小さく(5-15%)、高速(単一スレッドでの読み込みが4倍、8コアでの読み込みが25倍)です。
Create Intermediate Directories
Alembicアーカイブ出力パスが存在しなければ、そのディレクトリを作成します。
Render Full Range (Override Frame-By-Frame)
通常では、すべてのフレームを単一Alembicアーカイブへ書き出すのがベストです。 これは、Alembicがデータ保存を最適化し、効率を上げることができます。 フレーム単位でレンダリングする時でも、これが出力ドライバのデフォルトの挙動です。
いくつかのワークフローでは、Alembic ROPをフレーム単位で動作させたいことがあります(HScriptのrenderコマンドの-I
オプションを参照)。
このトグルをオフにすると、ROPはフレーム単位で評価することができます。
Initialize Simulation OPs
Alembicアーカイブを書き出す前にシミュレーションをリセットします。
Hierarchy ¶
Use SOP Path
有効にすると、Alembic ROPは、ルートオブジェクト下に格納されているオブジェクトをエクスポートするのではなく、 SOP Path で指定した単一ジオメトリディテールをエクスポートします。
SOP Path
Alembicアーカイブに含めるジオメトリディテールのパス。
Subdivision Group
グループ名をここで指定すれば、任意のオブジェクト内の任意のポリゴンが、Alembicファイルでサブディビジョンプリミティブとして保存されます。 他のポリゴンは、ポリゴンメッシュノードとして保存されます。
vm_rendersubd
またはri_rendersubd
のオブジェクトレベルのパラメータを使用することで、オブジェクト毎にSubdivision Groupを指定することができます。
そのパラメータが存在すれば、それを使用することで、ポリゴンをサブディビジョンプリミティブとして保存するかどうかを制御し、
vm_subdgroup
パラメータを使用して、サブディビジョンサーフェスとしてレンダリングするポリゴンを選択します。
Build Hierarchy From Attribute
出力アーカイブにプリミティブのパスを直接指定するには、Primitive文字列アトリビュートを使用します。
Path Attribute
パスを含むアトリビュートの名前。
Root Object
シーンのルートオブジェクト。このノードに含まれている表示オブジェクトすべてがAlembicアーカイブに含まれます。
Objects
Alembicアーカイブに含まれるオブジェクトのパターン/バンドル。
Collapse Objects
このオプションを使えば、全体のアニメーションに対してトランスフォームを持たないトランスフォームノード(同等トランスフォーム)の書き出しをスキップすることができます。
Alembicシーンをインポートする時、Alembic SOPを格納するために、空っぽのジオメトリノードがよく作成されます。これらのオブジェクトは、単にジオメトリを格納するための箱にすぎません。 しかし、シーンをエクスポートする時、これらのオブジェクトがダミーのトランスフォームノードとして追加されます(およそAlembicアーカイブノードの2倍の数になります)。
Do Not Collapse Identity Objects
すべてのジオメトリコンテナ(SOPを格納したジオメトリオブジェクト)がAlembicトランスフォームノードとして保存されます。
Collapse Non-Animating Identity Objects
アニメーションせず且つ単位行列トランスフォームを持つすべてのジオメトリコンテナがAlembicファイルの書き出し時にスキップされます。
Collapse All Geometry Container Objects
すべてのジオメトリコンテナがAlembicファイルに書き出されません。 サブネット階層の場合では、サブネットの親をアニメーションさせると、時間依存がそのサブネットの中のノードに伝搬します。このオプションは、強制的にジオメトリノードをスキップすることができます。
それらのノードのトランスフォーメーションは、保存中に失なわれます。
オブジェクトにabc_collapse
というSpareパラメータを追加し、その値をゼロ以外の値にすると、このノードはそのオブジェクトをスキップしてアーカイブから除外します。
これによって、このパラメータの設定に関係なく、オブジェクト毎のコントロールを細かく制御することができます。
Use Display SOP
このチェックボックスをオンにすれば、Display SOP内のジオメトリが、Render SOPからのジオメトリの代わりに保存されます。
Partition Mode
複雑なジオメトリの破片を保存する時、文字列アトリビュートに基づいてプリミティブを分割することで、そのジオメトリを複数の形状ノードに分けることができます。 文字列の値を解釈する方法がいくつかあります。
No Geometry Partitioning
ジオメトリが単一のAlembicシェイプノードとして出力されます。
Use Attribute Value
形状ノードの名前に文字列アトリビュートの値が使われます。
このモードは、name
アトリビュートを使用する時に適しています。
Use Shape Node Component Of Path Attribute Value
Alembicファイルを読み込む時、文字列アトリビュートにAlembicのパスを記録することができます。 このオプションは、そのアトリビュートに記録された形状ノードの名前に基づいてジオメトリを分けます。
Use Transform Node Component Of Path Attribute Value
このオプションは、アトリビュートに記録されたトランスフォームノードの名前に基づいてジオメトリを分けます。
Use Combination Of Transform/Shape Node
トランスフォームノードと形状ノードの両方の名前を組み合わせて、新しい形状ノードの名前を構成します。
Partition Attribute
単一ジオメトリを複数のAlembicシェイプノードに分けるために使用する文字列アトリビュートを指定します。
例えば、name
またはabcPath
のアトリビュートを使用して、その文字列値に基づいて、1つのHoudiniジオメトリを別々のAlembicシェイプノードに分割することができます。
Full Bounding Box Tree
これは、すべてのAlembicノードに適切な境界ボックスが書き出されます。 シェイプノードのみに対して境界を計算すれば、効率が上がります。
Geometry ¶
Packed Transform
複雑なジオメトリのピースを保存する時、パックプリミティブを使用することで、そのジオメトリを複数のシェイプノードに区分けすることができます。 パックプリミティブを制御する方法がいくつかあります。
Deform Geometry
パックプリミティブのトランスフォームを、その結果のシェイプノードのジオメトリにベイクします。
Transform Geometry
パックジオメトリの上にトランスフォームノードを作成します。
Merge With Parent Transform
パックプリミティブのトランスフォームをその親トランスフォームノードにベイクします。
Use Instancing Where Possible
これは、書き出し時にパックオブジェクトをAlembicアーカイブ内にインスタンス化し、ジオメトリを再利用するので、ファイルのサイズを小さくさせることができます。
Create Shape Nodes
これは、ジオメトリに対してAlembicシェイプノードを作成します。
Save Attributes
このチェックボックスをオンにすれば、ジオメトリアトリビュートが任意のジオメトリパラメータとしてAlembicファイルに保存されます。
Output Indexed Arrays
文字列アトリビュートをAlembicインデックス配列として保存しないようにすることができます。 デフォルトでは、Houdiniは、合理的な場合において文字列アトリビュートをインデックスアトリビュートとして保存します。 このオプションは、この機能を無効にします。
Point Attributes
このパターンに一致する名前のPointアトリビュートがAlembicファイルに保存されます。
Vertex Attributes
このパターンに一致する名前のVertexアトリビュートがAlembicファイルに保存されます。
Primitive Attributes
このパターンに一致する名前のPrimitiveアトリビュートがAlembicファイルに保存されます。
Detail Attributes
このパターンに一致する名前のDetailアトリビュートがAlembicファイルに保存されます。
Primitive To Detail
Alembicにエクスポートする前に、このパターンに一致するPrimitiveアトリビュートをDetailアトリビュートにプロモートします。 時々Alembicをインポートする時に、Houdiniは一定のAlembicデータを均一データに変換しなければなりません。 このオプションは、エクスポート時に特定のアトリビュートを手動で再調整することができます。
Force Conversion of Matching Primitive Attributes to Detail
PrimitiveアトリビュートをDetailアトリビュートにプロモートした時の通常の挙動は、すべてのプリミティブに対して値が同じであるかを確認することです。 このオプションを有効にすると、この確認を飛ばして、一致したすべてのPrimitiveアトリビュートを強制的にDetailアトリビュートに変換します。 1番目のプリミティブのアトリビュート値が、エクスポートされるプリミティブの単一Detail値として使用されます。
Detail Array Attributes
このパターンに一致する名前のDetailアトリビュートがスカラーではなく配列として保存されます。
Additional UV Attributes
このパターンに一致する名前の追加UVアトリビュートがAlembicファイルに保存されます。
Face Sets
このパラメータは、HoudiniのPrimitiveグループをAlembic Face Setsにどのように変換するか制御します。 Alembicは、ポリゴンとサブディビジョンメッシュのFace Setsのみサポートしています。
No Face Sets
Face Setsを保存しません。
Save Non-Empty Groups As Face Sets
ポリゴンを含むグループのみからAlembicファイルのFace Setsを生成します。
Save All Groups As Face Sets
どのポリゴンを含むグループなのか関係なく、すべてのグループからFace Setsを作成します。
Layering ¶
Enable Layering
有効にすると、その結果のAlembicアーカイブは、 Layering タブのパラメータで指定したシーンのサブセットのみをエクスポートします。
Create Full Ancestors for Output Nodes
有効にすると、 Nodes multiparmで指定したノードを排除せずに上流ノードすべてのデータがエクスポートされます。
Nodes
このmultiparmを使えば、その結果のAlembicレイヤーが完全に排除、置換、マージするノードを指定することができます。 +ボタンをクリックすると、新しいルールが追加されます。
Visibilities
このmultiparmを使えば、その結果のAlembicレイヤーが可視性を変更するノードを指定することができます。 +ボタンをクリックすると、新しいルールが追加されます。
Attributes
このmultiparmを使えば、その結果のAlembicレイヤーが排除または置換するアトリビュートを指定することができます。 +ボタンをクリックすると、新しいルールが追加されます。
Face Sets
このmultiparmを使えば、その結果のAlembicレイヤーが排除または置換するフェースセットを指定することができます。 +をクリックすると、新しいルールが追加されます。
User Properties
このmultiparmを使えば、その結果のAlembicレイヤーが排除または置換するユーザプロパティを指定することができます。 +をクリックすると、新しいルールが追加されます。
Motion Blur ¶
Use Motion Blur
これを有効にすると、サブフレームのジオメトリがAlembicファイルに保存されます。
Samples
保存するサブフレームモーションサンプルの数。
Shutter
サブフレームモーションサンプルのシャッターの開/閉。
Scripts ¶
様々な実行ステージで実行されるスクリプトコマンドを指定することができます。 スクリプトパラメータに対して選択されたエクスプレッション言語によって、このコマンドがHScriptなのかPythonなのか判断されます。
実行する前に、このノードが自動的にグローバル現行ノードとして設定されます。
ファイルからステートメントを実行したいのであれば、
.cmd
拡張子(言語が HScript に設定されている場合)または.py
拡張子(言語が Python に設定されている場合)が付いたファイルのパスを指定してください。
スクリプトには追加で引数を指定することもでき、シェルと同様の方法で引数が解析されます。
Pre-Render Script
任意のレンダリング前に、このスクリプトを実行します。
Pre-Frame Script
各フレーム前に、このスクリプトを実行します。
Post-Frame Script
各フレーム後に、このスクリプトを実行します。
Post-Render Script
すべてのレンダリング後に、このスクリプトを実行します。
Examples ¶
AlembicLayer Example for Alembic render node
このサンプルでは、Alembic ROPノードを使ってAlembicレイヤーを作成する方法について説明しています。