LoginSignup
1
0

Karma Material Builder [Mardini2024]

Last updated at Posted at 2024-03-20

これはMardini2024のDay7 Karma Material Builderの動画を視聴してまとめたものです。

動画

image.png

公式のサンプルファイル

Day6 Material Linker | Day7 Karma Material Builder | Day8 Karma Fog Box

Karma Material Builderを使えば、自作のマテリアルをカスタマイズして作成できます。また、Grayscale Gorillaプラグインを使えば、マテリアルを簡単にインポートできます。

要約

  • Karma Material BuilderはVOPコンテキストで動作する
  • ノード内でマテリアルのルックを構築する。各種ノードを接続してマテリアル表現を作り上げていく
  • Grayscale Gorillaプラグインを使えば、同社提供の高品質マテリアルをインポートできる
  • インポートしたマテリアルは、Material Linkerノードで割り当て可能
  • マテリアルのパラメータも公開されており、視覚的に調整が可能

サンプルファイル

image.png

シェーダーボールとカメラ、KarmaPhysicalSkyを含むシーンです
マテリアルはアタッチされていない状態です

image.png

事前準備

テクスチャを事前にダウンロードしておきます。greyscalegorillaのサイトでTileのマテリアルアセットを取得します
image.png

プラグインをインストールする場合

プラグイン
サポートページ

操作手順

  • Day6ではMaterialLinkerを利用してマテリアルを適用しましたが、今回はVEX BuilderコンテキストにアクセスするためMaterial Libraryを利用します
  • Material Libraryノードを作成し新しいVOPネットワークを作成します
    • image.png

3つのMaterial Builder 比較

  • Material Libraryノード内に入ったらVEX Material BuilderUSD MaterialX BuilderKarma Material Builderを作成してみましょう
  • image.png
    • VEXのシェーダーを利用しているためKarmaCPUのみで利用できます。KarmaXPUは動作しません
  • image.png
    • KarmaCPU、KarmaXPUで完全に動作しますが、サードパーティのアプリケーション用でもあります
    • HoudiniからUSDアセットをエクスポートすることができ、マテリアルはそのサードパーティアプリケーションで機能します
    • Karma固有のノードは利用できません
  • image.png
    • MaterialXサブネットもアクセス可能
    • Karma独自のノードを呼び出すことができる
    • KarmaXPUで一部動作しないことがある

Karma Material Builderの構築

  • これからタイル状のマテリアルを作成します
  • Material Libraryノード内でKarma Material Builderノードを作成します
    • 名前はGSG_TILES(Grayscale Gorilla Tiles)に変更します
    • image.png
    • Karma Material Builderノード内でマテリアルのネットワークを構築します
    • image.png
    • mtlxstandard_surfaceのBase Colorを赤色に変えておきます(割当されているかの確認用)

マテリアルの割当

  • 構築を行う前にマテリアルをシェーダーボールのジオメトリに割り当てます
  • stageに戻り、MaterialLinkerをMaterialLibraryの下に追加します
    • image.png
    • Material Listにマテリアルが追加されていることが確認できます
    • image.png
    • そのマテリアルをシェーダーボールにドラッグ&ドロップします
    • image.png

テクスチャマップの取り込み

  • Karma Material Builderノードに戻り、必要なノードを作成・接続していきます
  • inputsノードは不要なので削除します
Base Color
  • MtlX Imageノードでテクスチャ画像を読み込みます SignatureはColorのままです
    • MtlX ImageノードのFilenameに GSG_MC001_A096_DCeramicTilesSquare04_4k_basecolor.jpg を指定します
    • outをMtlX Standard Surface のbase_colorに入れます
    • image.png
    • 色味が反映されました。次は法線とラフネスを反映させます
    • image.png
Roughness
  • 新たにMtlX Imageノードを作成します。ラフネスは SignatureをFloatにします
  • GSG_MC001_A096_DCeramicTilesSquare04_4k_roughness.jpg を指定します
  • outをMtlX Standard Surface のSpecurlar Roughnessに接続します
  • ラフネスが効きました
  • image.png
Normal
  • 新たにMtlX Imageノードを作成します。法線は SignatureをVector3にします
  • GSG_MC001_A096_DCeramicTilesSquare04_4k_normal.jpg を指定します
  • MtlX Normalmapノードを作成、MtlX Imageノードとつなぎます
  • MtlX NormalmapのoutをMtlX Standard Surface のGeometry > normalに接続します

image.png

Karma Curvature
  • 新たにKarma Curvatureノードを作成します。入力に位置と法線を利用します
    • Normalは先程作成したMtlX Normalmapからnに入力します
    • Positionは新しくMtlX Postisionノードを作成します
  • 一時的にどの程度の影響が現れているかMtlX Surface Unlitノード(非照明サーフェス シェーダ)をMaterial_Outuputsに繋いで確認します
    • image.png
  • Positionの後ろに乗算(MtlX Multiply)をいれることで細かい制御が可能です
  • 最終的にCurvatureの後ろにはKarma Ramp Constを挟んでMtlX Mix(Signature:Color Fgにはテクスチャ Bgは黒のColor、mixにCurvatureを入れる)を経てbase_colorに流し込みます
  • image.png

image.png

Grayscale Gorillaプラグイン

  • Grayscale Gorillaプラグインをインストールしている場合、シェルフにツールが追加されます
  • image.png
  • シェルフのImport Materialボタンを押し、インポートするマテリアルフォルダを選択します
    • ポップアップ上でImportボタンを押します
    • image.png
  • マテリアルがmatネットワーク内にインポートされるので、コピーしてLOPのMaterial Libraryに貼り付けます
  • これまでと同様にMaterial Linkerノードで、ライブラリ内のマテリアルをシーン内のジオメトリに割り当てます
  • マテリアルにはいくつか外に公開されたパラメータがあり、スケール/回転等を調整できます

まとめ

Karma Material Builderでは、Houdini内で高品質なマテリアルを作成できます。Grayscale Gorillaマテリアルを活用することもできます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0