| On this page | |
| Since | 20.5 |
概要 ¶
Karma Texture Baker LOPは、USDのrender var、render product、rendersettingsのPrimを作成して、単一オブジェクトのテクスチャベイクをセットアップします。
このノードは、USD ステージ を書き出し、Karma用レンダリングを構成します。次に、その ステージ をディスクに書き出したり、さらにLOPノードを使用して修正することができます。
ベイクメッシュに複数のUDIMタイルが存在した場合、Karma Texture Bakerはタイル毎に1個のrendersettings Primを作成します。
ベイクメッシュは、典型的にはサーフェスディテールを含んだ高解像度メッシュのポリゴン削減バージョンです。
そのため、このベイクメッシュのことを低解像度メッシュとも言います。
Note
可能であれば、一部のベイク計算(例えば、ao、cavity、curvature)にはGPUが使用されます。
この処理が原因で、ビューのレンダリング時に若干の遅延が発生する場合があります。
一度すべてのデータがGPU上で利用可能になれば、このワークフローはスムーズになるはずです。
Tip
HoudiniドキュメントのSolarisセクションでは、Karma Texture Bakerの使用方法に関する詳細な情報が記載されたワークフローガイドがあります。
パラメータ ¶
Rendersettings Primitive Path
レンダリングで使用するRenderSettings Primsを指定したシーングラフパス。
huskは、1つのプロセスから異なるRenderSettings Primsを用いて複数のレンダリングを走らせることができます。
Render existing file を有効にしてこのパターンを評価すると、その指定したファイルは、ステージを/Renderブランチに制限するポピュレーションマスクが適用されたUSDステージとして開かれ、そのステージに対してこのパターンが評価されます。
これが空っぽの場合、このノードはルートPrim上のデフォルトのRenderSettingsPrimを検索します。
ルートPrimにRenderSettingsPrimが存在しなかった場合、このノードはデフォルト設定を使用します。
Baking Mode
低解像度メッシュ上の各ポイントのシェーディングポイントの決め方を指定します。 この低解像度メッシュは、ベイク先のメッシュのことです。
-
Trace 。このモードは、低解像度メッシュ(ベイクメッシュ)からサーフェス法線方向に光線を飛ばしてシェーディングポイントを見つけます。このメソッドは、複数のオブジェクトを単一メッシュにベイクする場合に動作します。他のシーンオブジェクトにはUV座標は不要です。
-
UV Match 。このメソッドは、単一高解像度メッシュを受け取り、低解像度メッシュのUV座標とマッチさせることで、シェーディングポイントを決めます。高解像度メッシュが低解像度メッシュとまったく合わない場合は、この UV Match が有効です。
-
Single Mesh 。単一メッシュをベイクするには、 Low Res Mesh と High Res Mesh に同じメッシュを使用してください。
Low Res Mesh
これは、ベイクされるメッシュです。 ポリゴンは、メッシュのUV座標に基づいてラスタライズされます。
Cage Mesh
このパラメータは、 Baking Mode が Trace に設定されている場合にのみ利用可能です。 場合によっては、低解像度メッシュから光線をシーンにトレースする方向を決めるのに問題が起きます。 Cage Meshを指定すると、そのCage Mesh上の位置から低解像度メッシュ上のトポロジ的に同じ位置を通るように光線が送信されます。 これによって、シェーディングの位置を決める時にもっと細かい制御が可能になります。
Note
Low Res Mesh と Cage Mesh のトポロジは同じでなければなりません。 さらに、 Cage Mesh は High Res Mesh を完全に囲っていなければなりません。
High Res Mesh
Baking Mode が Trace に設定されている場合、通常ではKarmaはすべての可視サーフェスをベイクします。 これによって、インスタンス化された岩石を含んだ複雑な地形を簡単にベイクすることができます。 しかしながら、このパラメータを使用することで、低解像度メッシュにベイクされるオブジェクトを選択することができます。
Baking Mode が UV Mesh に設定されている場合、ここには、低解像度メッシュとUV座標が同じ高解像度メッシュを指定します。 このメッシュの位置データは、シェーディング情報の計算に使用されます。
Baking Mode が Single Mesh に設定されている場合、ここには、高解像度メッシュを指定します。 単一メッシュをベイクするには、 Low Res Mesh と High Res Mesh に同じメッシュを使用してください。
Dicing Camera
サブディビジョンサーフェスまたはディスプレイスメントサーフェスのDicingに使用されるカメラを指定します。 ステージ上にカメラが存在しなかった場合、Karma Texture Bakerは自動でDicing用カメラを作成します。
Output Picture
出力画像のファイル名。単一画像をベイクする時、このノードは、ここで入力されたとおりの名前を使用します。
しかし、AOV毎に別々に画像をレンダリングする場合、この名前は、それぞれのAOVファイル名のベース名となります。
Resolution
出力画像の水平サイズと垂直サイズ(単位はピクセル)。
UV Attribute
ベイクに使用されるテクスチャ座標のPrimvar名を指定します。
Default UDIM
複数のUDIMが検出されると、Texture Bakerは、複数のUSD rendersettingsPrimsを作成します。つまり、UDIM毎に1つのPrim(karmabake_<UDIM>)が作成されます。
このパラメータは、どのrendersettings Primをレンダリングの“デフォルト”にするのかを決めます。
ビューポートディスプレイ設定のデフォルトPrimは、huskを使ってレンダリングする時に特定のrendersettingsPrimを指定することで上書きすることができます。
Images ¶
Create Separate Files
複数のAOVを含んだ単一画像を出力するのか、または、各AOVを別々のファイルに保存するのかを指定します。
Tip
すべてのAOVを確認するには、単一画像をMPlayに出力します。
Image Format
別々にレンダリングされるAOVの画像フォーマットを指定します。 ファイル拡張子は、それに応じて変更されます。
Name Separator
この文字は、 Output Picture パラメータのファイル名とAOVチャンネル名を区切るのに使用されます。
例えば、NtとPのAOVをベイクする時に、 Output Picture がrender/bake.pngだった場合、出力されるファイル名はrender/bake_Nt.pngとrender/bake_P.pngになります。
Note
ステージを検査して、生成されたrendersettingsPrim内のすべてのレンダープロダクトの詳細を確認することができます。
Expand UV Islands
UV島の境界を画像の空っぽの領域まではみ出させることで画像をポスト処理します。 これは、テクスチャをMipmapさせた時に良い結果が得られます。 この処理には時間がかかってしまう可能性があります。 反復を高速化するには、最終ベイクにのみこの機能を有効にしてください。
Denoiser
ベイクが終わった画像出力に対して実行するデノイザを選択します。デノイザを実行しない場合は No Denoiser を選択します。 現在のところ、このユーティリティは、(Houdiniに同梱されている)Intel Open Image Denoiseと(別途インストールが必要な)NVIDIA OptiX Denoiserに対応しています。 この機能を使用するには、対応しているプラットフォーム上で、その選択したデノイザライブラリがインストールされている必要があります。
NVIDIA OptiX DenoiserはNVIDIAカードでのみ動作します。 このデノイザは、NVIDIAドライバ(バージョン435以降)に同梱されています。
Denoise AOVs
このパラメータでスペース区切りで指定したAOVリストにデノイザが適用されます。
Texture Maps ¶
このタブでは、シェーディング状態の出力として定義されるAOVを指定します。
Normal Y Direction
接線空間法線(または丸め法線)のAOVのY値の方向を決めます。
Tangent Space Normal
接線空間法線のAOVを作成します。
このAOVのデフォルトのNtの名前を変更することができます。
Rounded Normal
丸め法線のAOVを作成します。
このAOVのデフォルトのRnの名前を変更することができます。
Rounded Edge Samples
丸め法線の計算に使用される方向の数を指定します。 サンプル数が多いほど時間がかかりますが、よりノイズの少ない結果が得られます。
Rounded Edge Ray Bias
自己交差を回避するように丸め法線を計算する光線バイアス。
Rounded Edge Radius
丸め法線の半径。
Rounded Edge Cusp Angle
この閾値よりも小さい法線間の角度を持つポリゴンが滑らかなサーフェスと見なされ、丸め法線マップに表示されなくなります。
Rounded Edge Mode
丸めエッジ法線マップ内に凹エッジまたは凸エッジを取り込むかどうか。
World Space
ワールド空間の位置を、Up軸がY軸またはZ軸の左手系空間または右手系空間のどちらで記録するか決めます。
Position
シェーディング位置。
このAOVのデフォルトのPの名前を変更することができます。
Shading Space
P AOVを保存する時、ここには、その位置の表現方法を指定します。
-
World Space 。シェーディング位置が直接AOVに書き出されます。
-
Low Res Mesh Bounding Box 。シェーディング位置が低解像度メッシュの境界ボックスにフィットされます。
-
Scene Bounding Box 。シェーディング位置がシーン全体の境界ボックスにフィットされます。
-
User Defined 。シェーディング位置がユーザ指定の値にフィットされます。
Uniform Bounding Box (Not Stretched)
このトグルを有効にすると、境界ボックスの3本の軸すべてが同じ長さになります。 無効にすると、境界ボックスは、すべての軸でジオメトリがピッタリと収まるようになります。
Normal
シェーディング法線。
このAOVのデフォルトのNの名前を変更することができます。
Geometric Normal
ジオメトリシェーディング法線(フェース/非補間法線)。
このAOVのデフォルトのNgの名前を変更することができます。
Occlusion
アンビエントオクルージョン。
このAOVのデフォルトのOcの名前を変更することができます。
Occlusion Samples
Occlusion を計算する時に使用される間接光線の数を決めます。 その結果のAOVにノイズが多い場合、 Primary Samples を上げなくても、 Occlusion Samples を上げるだけで済みます。
Occlusion Max Distance
Occlusion を計算する時に考慮される最大距離。 距離が小さいほどオクルージョンシェーディングの計算が速くなりますが、精度が悪くなります。
Occlusion Ray Bias
Occlusion を計算する時の光線バイアスを制御します。
Curvature
シェーディング位置での曲率。
このAOVのデフォルトのCuの名前を変更することができます。
Curvature Samples
Curvature を計算する時に使用される間接光線の数を決めます。 その結果のAOVにノイズが多い場合、 Primary Samples を上げなくても、 Curvature Samples を上げるだけで済みます。
Curvature Scale
凸部と凹部の差異を増幅させることで、曲率の全体的な強度またはコントラストを制御します。
Max Distance
値が小さいほど(= 距離が短いほど)、凹部が強調されます。 値が大きいほど(= 距離が長いほど)、曲率がより目立つようになり、凸部がよりはっきりとします。
Bias
マップの凸凹の見た目具合を制御します。 値が小さいほど凹部が強調され、値が大きいほど凸部が強調されます。
Cavity
シェーディング位置での反転法線に沿ったオクルージョン。
これによって、“起伏”のあるシェーディングが生成されます。
このAOVのデフォルトのCvの名前を変更することができます。
Cavity Samples
Cavity を計算する時に使用される間接光線の数を決めます。 その結果のAOVにノイズが多い場合、 Primary Samples を上げなくても、 Cavity Samples を上げるだけで済みます。
Max Distance
光線が近隣のジオメトリを検出できる距離を制限します。 値が小さいほど(距離が短いほど)、凹部が強調されます。
Bias
完全な凹コントラスト(0)と平坦な結果(1)のブレンド。
Thickness
シェーディング位置での厚み。
このAOVのデフォルトのThの名前を変更することができます。
Thickness Samples
Thickness を計算する時に使用される間接光線の数を決めます。 その結果のAOVにノイズが多い場合、 Primary Samples を上げなくても、 Thickness Samples を上げるだけで済みます。
Edge
高解像度モデル内のエッジを識別します。
このAOVのデフォルトのEgの名前を変更することができます。
Edge Samples
Edge の計算に使用される方向の数を指定します。 サンプル数が多いほど時間がかかりますが、よりノイズの少ない結果が得られます。
Edge Ray Bias
自己交差を回避するように丸め法線を計算する光線バイアス。
Edge Radius
丸めエッジの半径。
Edge Cusp Angle
この閾値よりも小さい法線間の角度を持つポリゴンが滑らかなサーフェスと見なされ、エッジマップに表示されなくなります。
Edge Mode
滑らかにするエッジのタイプ(凹または凸)。
Height
低解像度メッシュとシェーディングポイントとのスカラー値としての変位量。
このAOVのデフォルトのDsの名前を変更することができます。
Vector Displacement
低解像度メッシュとシェーディングポイントとのベクトル値としての変位量。
このAOVのデフォルトのVdの名前を変更することができます。
Tangent-Space Vector Displacement
低解像度メッシュとシェーディングポイントとの接線空間ベクトル値としての変位量。
このAOVのデフォルトのVdtの名前を変更することができます。
Alpha
シェーディング位置でのアルファ。
このAOVのデフォルトのAfの名前を変更することができます。
Shader Values ¶
このフォルダでは、MtlX Standard Surface VOPシェーダの入力で定義されているAOVを指定します。
現在のところ、単一のMtlX Standard Surfaceシェーダの入力のみを使用するので、シェーダのブレンドはサポートされていません。
MtlX Standard Surfaceの定義されたすべての入力に対して追加AOVが利用可能です。 シェーダ入力からAOVを書き出すには、Texture Bakerノードの該当するチェックボックスを有効にします。。 オペレーションのモードはすべての入力で同じなので、ここでは個別に説明しません。 ただし、 Base Combined は例外で、これは個別の入力ではなく、2つのAOVの組み合わせです。
Base Combined
MtlX Standard Surfaceは、ベースカラーをbase * base_colorで定義します。
baseは、base_colorで定義されたカラーのスカラー乗数です。
このAOVは、その乗算された結果を単一チャンネルとして保存します。
Coat Normal 、 Shading Normal 、 Shading Tangent の値は、シェーダに接続されている値のまま(ワールド位置で)保存されます。
Lighting ¶
テクスチャをベイクする時、照明計算は必ずしも必要ではありません。しかし、KarmaはライティングAOVをベイクすることができます。
Enable Lighting
ベイク用の照明計算を有効にします。
Beauty
C.*[LO]のLPEを使用して、ビューティー画像をRGBAカラーのAOVとして保存します。
Combined Diffuse
C<RD>.*LのLPEを使用して、直接ディフューズ照明と間接ディフューズ照明を保存します。
Direct Diffuse
C<RD>LのLPEを使用して、直接ディフューズ照明を保存します。
Indirect Diffuse
C<RD>.+LのLPEを使用して、間接ディフューズ照明を保存します。
Facing Ratio
Dicing Camera からのFacing Ratioを保存します。
Extra AOVs
ここでカスタムAOVを定義します。 ライティング系AOVだけでなく、Primvarsや他のKarma固有のAOVで定義されたAOVを指定することもできます。
Enable
AOVをオン/オフします。
Name
AOVの名前を指定します。
Type
AOVのデータタイプ。
Source Name
Source Type ドロップダウンメニューは、名前を決めます。 例えば、デフォルトの LPE オプションの場合、そのソースはライトパスエクスプレッションです。 Primvar オプションの場合、アトリビュート/Primvarの名前を入力することができます。
Source Type
Texture Bakerノードが Source Name パラメータを評価する方法を決めます。
Baking ¶
このフォルダには、ベイク処理を制御するパラメータが含まれています。
Make Low Res Mesh Invisible
たいていの場合、低解像度メッシュはどの光線からも見えないようにするべきです。 つまり、低解像度メッシュは、オクルージョンや他のレイトレース効果に寄与しません。 しかし、低解像度メッシュが表示されたままにする場合もあります。
Primary Samples
各ピクセルに送信されるカメラ光線の数を指定します。 数が多いほど、レンダリングの品質が良くなります。
Trace Bias
低解像度メッシュからシーンに光線を飛ばす時、このバイアスは、その光線の原点をその低解像度メッシュの表面からオフセットさせるのに使用されます。 このパラメータを使用することで、Cage Meshを定義することなく低解像度メッシュを法線沿いに好きなようにオフセットさせることができます。
Use MikkT Tangents
MikkTは、法線マップを生成するベイクツールでよく使用される接線空間の標準です。
Low Res Normals
テクスチャベイクを動作させるには、 Low Res Mesh に法線がなければなりません。 このパラメータは、法線が欠落している低解像度ジオメトリをこのLOPがどのように処理するのかを制御します。
Dicing Quality
ディスプレイスメントメッシュまたはサブディビジョンサーフェスをベイクする時、このパラメータによって、そのDicingの詳細レベルを制御することができます。
True Displacement
場合によっては、ディスプレイスメントシェーディングによってサーフェスが反転して悪い法線が生成されてしまいます。 このパラメータによって、ディスプレイスメントシェーダをバンプマップシェーダとして実行することができます。 別の方法だと、ディスプレイスメントシェーディングを完全に無効にすると良いでしょう。
Trace Set ¶
トレースセットは、オクルージョン、曲率などのレイトレーシング効果を計算する際に、どのPrimを可視にするのかを制御するのに使用します。 ベイク処理においてトレースセットには2つの役割があります。 1つ目は、Primが属しているトレースセットを識別すること、2つ目は、どのPrimがそのトレースセットで可視なのかを識別することです。
各Primは1つのトレースセットにしか属することができませんが、各トレースセットは複数のトレースセットに対して可視性を設定することができます。
例えば、face、body、hands、feetの4つのトレースセットがあったとします。
faceトレースセットの可視性をself(またはface)に設定することで、そのfaceトレースセット内のPrimのみがアンビエントオクルージョンの計算に使用されます。
bodyトレースセットの可視性をbody feet handsに設定することで、そのbodyトレースセット内のPrimに対してアンビエントオクルージョンを計算すると、body、feet、handsがオクルージョンシャドウを落とすようになります。
bake_traceset文字列Primvarは、低解像度メッシュ上にトレースセットを定義します。
これは単一の名前であり、高解像度メッシュ上で定義されている識別したいトレースセットの名前に合わせてください。
トレースセットが低解像度メッシュPrim上に定義されていれば、トレース光線は、それと同じトレースセット名で“グループ化”されている高解像度ジオメトリセットに対してのみテストされます。
トレース光線がこのトレースセットに属していないオブジェクトに当たっても、そのオブジェクトは無視されるようになります。 そして、このトレースセットに属するオブジェクトに当たらなかった場合、その光線は外れます。
Uncategorized Primitives
どのトレースセットにも属していないPrimsの挙動を決めます。
Global Visibility
これらのPrimsは“グローバル”トレースセットの一部となります。 高解像度メッシュ内のすべてのPrimsがレイトレーシング処理に影響を与えます。
Combine Into Single Trace Set
カテゴリ化されていないPrimsを単一トレースセットに結合します。 このグループ内のPrimsのみがレイトレーシング処理でお互いに影響し合います。
Separate Into Individual Trace Sets
カテゴリ化されていない各Primは、互いに排他的なトレースセットに格納され、他のPrimsからの影響を受けません。
Trace Sets
明示的なトレースセットの数。
Enable
トレースセットの作成を有効(または無効)にします。
Name
トレースセットの名前を指定します。
Visibility
レイトレーシングに対して、このトレースセット内のPrimsの可視性を指定します。
ここには、スペースまたはカンマで区切った他のトレースセット名のリストで指定します。
特別な名前として、self(このトレースセット内のPrimsのみを考慮する)と*(すべてのPrimsを考慮する)の2つがあります。
-
Visibility が
selfの場合、このトレースセット内のPrimsのみがレイトレーシング処理で使用されます。 -
Visibility が
*の場合、シーン内のすべてのPrimsがそれらのPrimsの可視性に影響を与えます。 -
レイトレーシング処理で可視性の判断に使用されるトレースセット名のパターンを指定することもできます。 例えば、
body*、face body hands、face body* ^knapsack(これはknapsackを除外します)のように指定します。
Primitives
このトレースセットに属するPrims。
| See also |