導入
Redshift Proxieを使用すると、以前にエクスポートされたRedshift Proxyファイル(.rs)ファイルをレンダリング時に実際に必要になるまで、実際にジオメトリをロードせずにシーンに配置することができます。 Redshiftプロキシは、実際のRedshiftシーンとみなすことができます。他のRedshiftプロキシも含めることができます。
シーン内での赤方偏移プロキシの使用は、2段階の処理です。 最初にRedshift Proxy Fileをエクスポートしてから、Redshift Proxyをインポートしてシーンに配置し、エクスポートしたファイルに関連付けます。
プロキシを使用すると、シーン内オブジェクトよりもいくつかの利点があります。
- プロキシはオンデマンドでRedshiftによってロードされるため、必要に応じてリソースを使用します(レイがプロキシの境界ボックスと交差するとき)。
- プロキシは、シーンの変換中にほとんど時間コストがありません。 大量のジオメトリを抽出する速度が遅く、プロキシを使用すると、最初にRedshiftプロキシファイルをエクスポートしたときにそのコストを1回支払うことを意味します。
- プロキシはディスク上に最適化された形式で格納され、レンダラーは追加の処理やメモリのオーバーヘッドなしにディスクからロードした後すぐにデータを使用できます。
- アニメーションや変形メッシュ、ヘア、ストランド、インスタンス、ボリュームコンテナ、ライト、これらのオブジェクトに適用されるマテリアル/シェーダなどのオブジェクトタイプをサポートします。
プロキシを使用する主な欠点:
- プロキシを編集すると、元のデータがシーンの一部である場合(他のファイルを変更してRedshiftプロキシファイルを再エクスポートする必要があるため)に比べて時間がかかることがあります。
- Redshift Proxyエキスポート後、Redshift Proxyジオメトリは、テッセレーション設定を調整する以外に、変形することも、変更することもできません。 たとえば、エクスポート後にプロキシ内のコンポーネントをアニメートすることはできませんが、プロキシの位置、回転、スケールを全体の剛体オブジェクトとしてアニメートできます。
- アニメーションプロキシは、フレーム単位のキャッシュであるため、ヘビーウェイトになる可能性があります。
Redshiftプロキシは、Redshiftプロキシファイルに埋め込まれたマテリアルを使用するか、プロキシが配置されているシーンのマテリアルでこれらのマテリアルを置き換えるかを選択できます。
RedshiftプロキシファイルはDCCに依存しないため、たとえば、RedshiftプロキシファイルをMayaからエクスポートし、Houdiniのプロキシとしてインポートすることができます。
現在、DCC間でRedshift Proxyファイルを共有する際には、いくつかの重要な制限があります。
- あるDCCから出力したRedshift プロキシファイルの埋め込みシェーダは、別のDCCで使用できない場合があります。 たとえば、Softimage Lambertマテリアルを含むRedshiftプロキシファイルは、Mayaのプロキシとして配置されたときに正しくレンダリングされません。
- 特定のDCC固有の特定のライトタイプは、別のDCCでレンダリングするとエラーを引き起こす可能性があります。
この問題を回避するには、この制限を解決するまで、DCC間でRedshift Proxy Filesを共有するときに、常にFrom Sceneの素材モードのいずれかを使用することをお勧めします。
重要な考慮事項
Redshift Proxiesで作業する場合は、次の点に注意してください。
- Redshiftプロキシファイルから元のMaya、3ds Max、またはSoftimageメッシュを取得することはできませんので、Redshiftプロキシのエクスポートに使用された元のソースデータを保持することをお勧めします。
- シーンにRedshift Proxyの複数のコピーを配置する場合、メモリとパフォーマンスが単一のRedshiftプロキシを作成し、このプロキシの複数のインスタンスを作成し、必要に応じて配置する方がはるかに効率的です。
Redshift Proxyでエクスポートされたデータは、エクスポート時のRender Settingsによって決まります。デフォルトでは、Redshiftは最も効率的なファイルサイズを実現するために、できるだけ多くの不要なデータを破棄しようとします。
UV、頂点カラー、その他の頂点ごとのアトリビュート
Redshift Proxyファイルとしてオブジェクトのセットをエクスポートする場合、現在割り当てられているシェーダが使用するvertexアトリビュートのみがエクスポートされたデータに含まれます。これは、ファイルの膨張を防ぐ重要な最適化です。 プロキシファイルをそのまま使用すると、マテリアルをオーバーライドしなくても問題ありません。 ただし、プロキシマテリアルのオーバーライドを使用すると、オーバーライドするマテリアルがエクスポート時に使用されなかったために削除された頂点データを必要とする場合、予期しない動作が発生する可能性があります。 したがって、プロキシの特定のアトリビュートが必要な場合は、プロキシオブジェクトに添付されているシェーダがこれらのアトリビュートを使用していることを確認してください。 たとえば、球面テクスチャ投影とテクスチャが設定されていないシンプルマテリアルが割り当てられた球がある場合、テクスチャ投影は現在割り当てられているマテリアルでは使用されていないため、プロキシファイルのエクスポート時に削除されます。 このプロキシが別のシーンに配置され、UVを使用するマテリアルによってマテリアルがオーバーライドされると、UVが欠落して誤ってレンダリングされます。
Motion Blur
Redshift ProxiesをMotion Blurを使用してレンダリングするには、エクスポート時にRender Settingsでモーションブラーが有効になっていることを確認する必要があります。
エクスポート後にプロキシでモーションブラーを無効にすることはできますが、フレームの持続時間などの個々のモーションブラーの設定は変更できません。モーションブラーの設定を変更する場合は、プロキシを再エクスポートする必要があります。
インスタンス化とテッセレーション
Redshift Proxiesをインスタンス化する予定がある場合は、固定テッセレーションしか使用できないことに注意してください。
Redshiftでインスタンス化するときは、アダプティブテッセレーションは使用できません。
プロキシの作成とエクスポート
Redshift ProxyファイルをHoudiniからエクスポートするために使用される3つの異なるノードがありますが、エクスポートプロセスはすべて同じですが、いくつかの機能とエクスポートオプションが異なります。
- Redshift ROPノード:通常、ファーム内でレンダリングされるフルプロキシシーンファイルをエクスポートするために使用されます。 選択したオブジェクトだけをエクスポートすることもできます
- Redshift Proxy Output ROPノード:レンダリングコンテキストからプロキシオブジェクトをエクスポートするために使用されます。
- Redshift Proxy Output SOPノード:オブジェクトから直接プロキシオブジェクトをエクスポートするために使用されます。 プロキシsopは、モデリング操作のようにOBJノードの内部に追加されるため、入力にリンクされたモデリングSOPをエクスポートします。 1つのオブジェクトのみをエクスポートできます。
Redshift ProxiesをHoudiniのRedshift ROPノードからエクスポートするには、以下の図のように、Redshift ROPのArchiveセクションの "Export.rs Proxy File"オプションを有効にする必要があります。
Redshift ROPノードでのRSプロキシエクスポートの有効化
有効になったら、以下の図のように[Render to Disk]ボタンをクリックして、実際のエクスポートプロセスを開始します。
エクスポートパラメータ
"Redshift ROP"プロキシエクスポートオプション
"Redshift Proxy Output" ROPエクスポートオプション
"Redshift Proxy Output" SOPエクスポートオプション
アーカイブ
rsプロキシファイルのエクスポート
「Render to Disk」ボタンが押されたときに、Redshift Proxyファイルのエクスポート機能を「Redshift ROP」から有効にします。
"Redshift ROP"出力ノードにのみ適用されます。
ファイル名
このパスは、プロキシ出力ファイルの場所と名前を指定します。 プロキシは ".rs"ファイルタイプで出力する必要があります。
プロキシファイルシーケンスをエクスポートするには、上記の画像に示すように、ファイル名に "$ F"フレームトークンを含めてください。
Create Intermediate Directories
有効にすると、ファイルが利用できない場合、ファイルの保存に必要なすべてのパスが自動的に追加されます。
Export Only Selected Objects
選択したオブジェクトのみをRedshift Proxyファイルとしてエクスポートします。
"Redshift ROP"出力ノードにのみ適用されます。
Discard the Not Used Attributes
有効にすると、Redshiftは最も効率的なファイルサイズを実現するために、できるだけ多くの未使用の不要なデータを破棄しようとします。
Export Connectivity Data
このオプションを有効にするのは、シーンに配置して元のメッシュにテッセレーションまたは変位が適用されないと、テッセレーションおよび移動をプロキシに適用する必要がある場合のみです。 このオプションを有効にすると、プロキシファイルのサイズが大きくなるため、必要に応じて使用する必要があります。
Polygon Connectivityテッセレーションとディスプレースメントを既に使用しているオブジェクトの場合、データは自動的にエクスポートされます。
Compress File
このオプションを使用すると、エクスポートされたRedshiftプロキシのファイルサイズを縮小するファイル圧縮が可能になります。 場合によっては、圧縮によりファイルサイズが50%以上縮小されることがあります。
一般的に、圧縮はエクスポートとロードの時間を遅くします。
ただし、パイプラインのボトルネックが遅いストレージドライブやネットワークのようなデータ転送パフォーマンスが遅い場合、ファイル圧縮を有効にすると、ファイルサイズが小さくなるためパフォーマンスが向上する可能性があります。 高速ネットワークとSSDのような高速ストレージドライブをお持ちの場合は、プロキシファイルを解凍するのに必要な処理時間のためにパフォーマンスが低下する可能性があります。 これらは、圧縮を有効にするか無効にするかを決定する際に考慮すべき種類のものです。
Skip Existing Files
このオプションを有効にすると、同じ名前で検出された既存のRedshift Proxiesファイルはスキップされます。
Ignore OBJ Level Transformations
有効にすると、プロキシオブジェクトはローカルレベルでエクスポートされ、オブジェクトレベル(変換、回転など)で使用可能な変換は無視されます。 無効にすると、ワールド空間内のすべてのオブジェクトレベル変換の後にプロキシがエクスポートされます。
有効にすると、エクスポートされたオブジェクトはすべてオブジェクトレベルの変換を失います。このオプションは、単一フレームまたはメッシュレベルのアニメーションのエクスポートに最も便利です。
プロキシの使用
Redshift ProxyをHoudiniシーンに配置するには、Redshift Proxyオブジェクトを作成する必要があります。
Redshiftのツールバーに移動し、以下に示すように「プロキシ」を選択すると簡単にこれを行うことができます:
Redshift Proxyオブジェクトの作成
プロキシオブジェクトのパラメータ
Redshiftプロキシオブジェクト
Enable Proxy File
このオプションは、プロキシファイルを有効または無効にします。無効にすると、プロキシファイルが表示またはレンダリングされません。
Proxy Filename
このフィールドは、プロキシオブジェクトの代わりにレンダリングされるRedshift Proxy Fileを指定します。 このフィールドの右側にあるフォルダアイコンを使用して、プロキシファイルにナビゲートして選択することができます。
Display Mode
これらのオプションは、プロキシがビューポートにどのように表示されるかを決定します。
- None: プロキシをビューポートから完全に隠しますが、プロキシは引き続きレンダリングされます。
- Bounding Box: 関連付けられたファイル内のすべてのオブジェクトを含むシンプルな軸整列バウンディングボックスを表示します。
- Mesh: ファイルからジオメトリデータを直接使用します。
- Points:ポイントクラウドを使用してジオメトリデータを表示します。
Display Percentage
このオプションは、表示モードがプレビューメッシュに設定されているときに、ビューポートに表示するジオメトリデータの割合を制御します。
表示モードがプレビューメッシュに設定されている場合、Redshiftプロキシファイルに含まれる完全な解像度ジオメトリがデフォルトで使用されます。多くのジオメトリを含むプロキシの場合、表示モードをバウンディングボックスにするか、リンクメッシュを使用するか、またはプレビューを使用するときに表示割合を低く設定することをおすすめします。
Display Lines
このオプションは、Redshiftプロキシファイルに存在するHoudiniカーブプリミティブの表示を切り替えます。 これは、プロキシに多くのカーブが含まれていても、ビューポートのプロキシメッシュをプレビューできるようにしたい場合に、ビューポートのパフォーマンスを向上させるのに役立ちます。
Animated Preview
アニメーションプロキシファイルシーケンスを使用する場合、このオプションは、ビューポート内のプロキシが更新を許可されるかどうかを制御します。 無効にすると、プロキシはビューポートに静止したままですが、レンダリング時には更新されます。 有効にすると、アニメーションプロキシはビューポートで更新されます。
Proxy Materials
これらのオプションは、このプロキシのマテリアルの処理方法を制御し、プロキシファイル内のマテリアルを現在のシーンで定義されたマテリアルで上書きすることを許可します。
- From Proxy: Redshiftは、プロキシファイルをオーバーライドせずにプロキシファイルに埋め込まれたマテリアルを使用してプロキシオブジェクトをレンダリングします。
- From OBJ Node: このプラグインは、同じOBJプロキシプレースホルダノード内で使用されているマテリアルを見つけようとします。 OBJノードがOBJレベルで定義された1つのマテリアルしか持たない場合は、すべてのプロキシマテリアルをオーバーライドするために使用されます。
- Full Override: このオプションを使用すると、シーン内で使用可能なマテリアルをすべて設定して、すべてのプロキシマテリアルを完全に無効にすることができる「完全オーバーライドマテリアル」パラメータが有効になります。
- List Override: これはプロキシマテリアルをオーバーライドする最も柔軟なオプションです。 選択すると、「Material Override List」パラメータにマテリアルを追加して、各プロキシマテリアルをオーバーライドするために使用されるシーンマテリアルを設定できます。 プロキシマテリアルは、オーバーライドリストプロキシマテリアルドロップダウンメニューで利用できます。
- From Scene Materials: この場合、プラグインは、シーン内で使用可能な同じパス/名前のマテリアルを見つけると、プロキシマテリアルを置き換えます。
Full Override Material
ここでは、プロキシマテリアルオプションが「Full Override」に設定されているときに、シーン内のマテリアルを指定して、シーン内のすべてのマテリアルをオーバーライドします。
Material Override List
ここでプロキシでオーバーライドされるマテリアルと、プロキシマテリアルオプションが[List Override]に設定されているときにシーン内の新しいマテリアルを制御します。
左にあるボタンをクリックすると、必要な数だけマテリアルをオーバーライドするまで新しいスロットを追加できます。の後、左側の[Replace Material]ドロップダウンメニューで置き換えるプロキシマテリアルを選択することができます。 下の画像には、「material_in_proxy」があります。 次に、右側の "With"セクションで上書きするシーンマテリアルを設定します。下のイメージでは "material_in_scene"です。 以下に示す2つの空の無効化スロットもあります。
Overrides
これらのチェックボックスは、プロキシファイル内のオブジェクトの対応するアトリビュートを、プロキシプレースホルダオブジェクトの同じアトリビュートによって上書きするかどうかを制御します。 たとえば、プロキシファイルの内容にオブジェクトID 5を割り当てる場合は、プレースホルダオブジェクトのオブジェクトIDを5に設定し、オブジェクトIDの上書きを有効にします。
- Object ID
- Visibility & Matte
- Tessellation & Displacement
- Trace Sets
- User Data