(前回の補足)カメラから見た法線とテクスチャ法線をブレンドする
前回までの内容だとテクスチャを表示していただけなのでメッシュの法線情報とブレンドする

環境
Houdini Indie 20.5.487
追記について
2/20 にノーマルマップの変換について間違っていた部分を修正しました。
カメラから見た法線とテクスチャ法線をブレンドする
NormalMapをtangent空間ワールド空間に変換する
すみません、前回の補足です。
(前回:AOVを使ってKarmaでBaseColor、Normalなどのチャンネルを表示してレンダリングする)
前回までだとオブジェクト表面にノーマルテクスチャが表示されているだけの状態なので(自分の目標だった図録作成のためならこれでよかった)よくみる法線表示にしたい場合以下のような手順でできました。
カメラから見た法線の作成
※専門外のため間違っていたらすみません
MtlxNormalノードを作成し、SpaceにWorldを設定MtlxTransformNormalを作成し、FromSpaceにworld、Tospaceにcameraと設定
法線の合成
ネットで調べたら出てきたWhiteOutNormalという計算式を参考にテクスチャとカメラ方向からの法線を合成
ノーマルマップをワールド空間に変換する
tangent法線(ノーマルマップ)をワールド空間のノーマルに変換するには以下の手順で変換できるようでした。
変換した状態のノーマルはmtlxstandrid_surfaceのnormalにも正しい接続のようです。
(参考:MtlX Image VOP node(When reading normal maps, set the type to vector3, to ensure colorspace is not applied to the incoming data.)
MtlX Standard Surface VOP node(input:Normal:Input geometric normal. A worldspace vector in -1->1 range (defaults to current world-space normal).)
MtlX Normalmap VOP node(Tips:Shaders importing normal map images must be vector3, and not color3.))
- mtlx Imageノードでノーマルマップを読み込み
この時データ形式はcolorではなく「vector3」で読み込む - 「mtlxNormalMap」ノードに接続する


シェーダー周りは知識があまり無く、ピンとくる答えになかなかたどり着けず苦戦しました…
UnrealEngineの法線表示だとまた色少し違うんですよね。そっちで表示したいと言われたらまた苦戦しそう。
実際のワークフローに組み込むなら詳しい人のアドバイスをもらいたいところです。

fish_ball
プロシージャル魚類