HOME

AOVとレンズシェーダーを利用したKarmaテクスチャベイク

CGWikiを運営しているMatt Estela氏がKarmaを利用したテクスチャベイクの方法を共有してくれていたので以前作成したAOVのチャンネルレンダーシーンで利用してみる

環境

Houdini20.5.487

CGWiki の KarmaTextureBake

https://tokeru.com/cgwiki/HoudiniLops.html#texture_baking_with_karma
LensShaderを使ってUVの位置に合わせたレンダリングでテクスチャを作成する方法を共有してくれている

LensShaderを作成

MaterialLibraryを作成し、Karma UV Lensノードを作成する カメラ用のレンズシェーダーでカメラ側でアサインするのでこの時点ではアサインは不要

UV Lens Shader を作成

レンダリング用のカメラを作成

カメラを作成し以下の設定を適用

  • View/ Clipping Rangeを 0-2、
  • View/ Aspect Ratio を1:1、
  • Karma/ Use Lens Shader を有効
  • Karma/ Lens Shader VOP に先ほど作成したLens Shaderを設定
cameraにLensShaderを設定

RenderSettingを作成

RenderSettingを作成し以下の設定を適用(※KarmaRenderSettingではテクスチャの設定が無いのでRenderSettingを作成)

  • Karma/ Global/ TextureBaking/ ObjectID を 1
  • Karma/ Global/ TextureBaking/ Tile を 1001
  • Karma/ DefaultGeometrySetting/ TextureBaking/ Low Resolution を 1

うまく設定できていればこの段階で設定したカメラを有効にするとKarmaレンダリング時にUVに合わせたレンダリングを表示できます
※AOVをレンダリングするために後でKarmaRenderSettingも使うので不要な設定はしていません

RenderSettingを変更するとUV位置で表示できる

ライトをセットアップし、AOVを作成

レンダリングしたいものに合わせてライトを設定し、KarmaRenderSettingを作成する
KarmaRenderSettingは出力画像を四角にするため

  • Resolution を 1024 - 1024 などに設定

また、KarmaRenderSettingでいくつかAOVを作成できるので今回はShadowを有効にしてレンダリングした。

  • Image Output/ AOVs(Render Var)/ Component Level Output/ Beauty/ Shadow を有効
ライトなどを設定したshadow チャンネル

上記のモデルを設定したレンズシェーダー、カメラでレンダリングすると以下のようになる

AOVでShadowをレンダリング
上記ShadowをLensShaderを設定したカメラでレンダリングした結果

補足:自作AOVをレンダリングに使う

以下の記事でMaterialXと組み合わせて自作したAOVをレンダリングに利用する内容を書いた。

カメラから見た法線とテクスチャ法線をブレンドする
https://www.procedural.jp/articles/jehhyznnfgo

RenderVarごとにRenderProductを設定し、各チャンネルをレンダリングする
https://www.procedural.jp/articles/1nyqkb__fxd4

この記事で作成したマテリアルと今回のLensShaderを使うとカスタマイズしたAOVのUVへのレンダリングも可能

AOVでBaseColorをレンダリング
上記BaseColorをLensShaderを設定したカメラでレンダリングした結果
AOVでNormalMapを反映したWorldNormalをレンダリング
上記WorldNormalをLensShaderを設定したカメラでレンダリングした結果

KarmaRenderSettingのAOVにAmbientOcclusionがあるので、ハイモデルからベイクすればAOの作成なども可能
(ハイモデルがローモデルと同様のUV展開をしていないと出来ないが)

AOVでAmbient Occlusionをレンダリング
上記AOをLensShaderを設定したカメラでレンダリングした結果

拡張性が高いレンダラーって本当に何でもできる気になってきますね
ここまでくると逆にKarmaではできないことって何なんでしょうか

fish_ball

プロシージャル魚類