2026年6月15日月曜日

[Zbrush]ZbrushのUVSmoothの挙動の確認とReUVでの他ソフトとの連携について

今回はタイトルの通りZbrushのUVSmoothについての挙動と他ソフトとの連携方法について触れます。

ZBrushのUV Smooth(Suv)は、Subdivisionレベルを変更するたびにUVSmoothが毎回適用されるため、作業中にUV形状が意図しない形に変化してしまいます。

その結果、他ソフト上のモデルとのUV不一致が発生し、Displacementベイクなどで問題になることがあります。

何が起きてるのか、どうしておくと無難なのか、現在の知見をまとめます。

Zbrushのバージョンは2022.0.8です。


Suvとは?問題点は?


これをOnにすることで、Sdivを上げたときにMayaのSmoothのUVオプションでいうPinBorderの形でUVにスムースがかかります。

それだけ聞くとよさそうなのですが、この機能には現状問題があり、スカルプト作業しながらSdivレベルを上げたり下げたりするたびにスムースがかかってしまい、どんどんUVの形が変わってしまします。

こうなってしまうと、Mayaで使うモデルとUVが乖離してしまい、Displacementなどテクスチャのベイクで問題が起きます。

なのでSuvはオフにして作業している人が多いかと思います。

この問題はバージョン3.7くらいではすでに報告されており、昔から言われている問題です。

ここで問題なのが、ある程度のハイポリで他ソフト(SubstancePainterやMariなど)にモデルを持っていきたいときに、UVのSmoothがかかっていないLinear状態のモデルになってしまうので、レンダーするときのUVSmoothのオプションによってはマップにずれが生じます。

ReUV機能について

上記の問題を解決するのにReUV(RecalcUV)機能を使います。

SuvをONにしても既存のSubdivisionレベルのUVは更新されません。

ReUVを実行することで、現在のSubdivisionレベルに対してUV Smoothが再計算されます。

例えばsDiv5まであるモデルがあって、sDiv3のものを書き出したい場合。

①セーブする。

②sDiv3にする。(自分が書き出したいsDivレベルにする。)

③Suvをオン。

④Reuvを押す。

⑤モデル書き出しして、セーブせずZbrushを落とす。(Zbrush上では変更を保存したくないため)

以上です。

これでUVSmoothがLinearからPinBorderに変更されたモデルを受け渡しできます。


ZbrushのUV運用の結論

現状は

スカルプト作業中はSuvをオフ

必要に応じてReUVを使ってジオメトリ書き出しを行う

です。

異論は認めますが、いろいろな問題にぶつかってきた中で、現状これが一番無難です。


2026年2月13日金曜日

PBR基礎 エネルギー保存の法則

今回はエネルギー保存の法則についてです。

Arnoldをはじめ、最近のレンダラーについてるPBR系のマテリアルでは標準機能になってるのではないかと思います。

実際どう動いて調整されているのか見てみたいと思います。

エネルギー保存の法則とは

物体が反射・散乱として返す光エネルギーの総量は、入射してきた光エネルギーを超えないという原則です。

自己発光する物体の場合、反射光とは別に発光が加算されるため観測される輝度が入射光より大きく見えることがありますが、発光しない物体では返される光量は必ず入射光以下になるというものです。


テストシーンの準備

エネルギー保存の法則がアーノルドのシェーダーでどんな風に動いてるのか見てみましょう。

Ai Sky Dome LightとSphereのシーンを作ります。

こんな感じです。


Ai Sky Dome LightはColor、Intensityなどはいじらず、Samplesだけ3にしました。

この状態のライトはすべての方向から1の力で光を当てるので、エネルギー保存の法則によりレンダーされた球体の返す色の最大の強さは1になるはずです。

シェーダーはAi Standard Surfaceを使います。

Ai Standard Surfaceのエネルギー保存の動きを見てみる

まず、Diffuseのみを返すシェーダーを準備しました。

BaseのWeightとColorは1(白)に、SpecularのWeightとColorは0(黒)に設定しました。

他のパラメーターは設定変更していません。

これでDiffuseのみ色がつくシェーダーになったはずです。

これでレンダーしてみます。

Arnold Render ViewのPixelタブで見てみると、球体にカーソルを合わせるとbeautyとdiffuseの項目は1を返していることがわかります。

1の光を当てたのでDiffuseが1の光を返した。

ここまで問題無いですね。

それではシェーダーにSpecularを足してみます。


SpecularのWeightとColorを1にしました。

Roughnessは0です。

これでレンダーしてみます。

Specularの数値が足されましたね。

Diffuseの数値は変えてないはずなのにBeautyは1になってます。

AOV別で見るとdiffuseが0.891に落ちており、specularに0.11という数値が入っているのがわかります。

Specularが足されたため、Standard SurfaceはDiffuseの数値を下げて1を越えないように調整したといえると思います。

これがAi Standard Surfaceにおけるエネルギー保存の挙動になります。

この調整は自動で行われています。

それぞれのAOVの画像も見てみましょう。

こちらはdiffuseのAOVの画像です。

※beautyの例とカーソル位置が違うので数値は違います。

この画像だけだとわかりにくいのですが、外側に行くにつれて少し暗くなっています。

こちらはspecularのAOVの画像です。

※こちらもbeautyの例とカーソル位置が違うので数値は違います。

こちらは外側に行くにつれ明るくなっているのがわかると思います。

specularが明るくなる分だけ、diffuseが暗くなっていくということです。

Pixelタブの数値を見てもらうとピックする場所がどこでも、diffuseとspecularを足すと1なのが確認できると思います。

このような形でArnoldはエネルギー保存のルールを自動で適用してくれてます。

まとめ

以上がエネルギー保存の法則の動きの解説になります。

AOVを増やせば増やすほど複雑な結果になってきますが、自動処理ですので無理なシェーダーを組まない限りは問題ありません。

基本的なPBRのルールを守っていればほとんど意識することなく適用されます。

PBRの基礎をおさえつつ、シェーダーの動きを把握してしっかりハンドリングして質感を設定していけるといいですね!


2026年2月4日水曜日

PBR基礎 フレネル効果

今回はフレネル効果と呼ばれるものについて解説していきます。

見た目の変化を中心に概要を説明します。

フレネル効果とは

視線(カメラ)と表面の角度によって反射の強さが変わる現象のことを言います。

例えば、水たまりを真上から見ると透けて見えますが、斜めから見ると鏡のように空を反射して見えますね。

この現象をフレネル効果と呼びます。

CGでこれがどのように再現されているのか確認してみましょう。

サンプルシーンの説明

こんな感じのサンプルシーンを準備しました。


地面は黒い板でSpecular Roughnessは0.05、IORは1.5です。

ネコにはシンプルなグレーシェーダーをアサインしています。

ライトはAiSkyDomeLightとDirectionalLightの2灯にしており、DomeLightはテクスチャ無しです。

カメラは地面に対してほぼ垂直からほぼ水平になるようなアニメーションがついています。


レンダーしてみる

真上から地面に対して水平になるように移動するカメラでレンダリングしています。

地面に注目してほしいのですが、カメラが地面に対して水平に近づくにつれ、全体が明るくなっていくのが分かると思います。

また猫の反射映り込みも水平になるほど強く鮮明になっていきます。

AOV別に見ていきましょう。

Specularだけ見てみましょう。

Beautyよりわかりやすいですね。

これによりSpecularの強度はカメラの入射角と表面の角度によって変化することがわかると思います。

これがフレネル効果による見た目の変化と言えます。


おまけ

細かい話なのですが、面のピクセルごとのSpecular成分の強さはSpecular AlbedoというAOVで可視化することができます。

レンダー画像を見てみましょう。

このAOVを使うことで、ライティングの影響なく、入射角の違いによるSpecularの変化を分かりやすく確認できます。

業務上ほとんど必要無い確認ですが、実際にどのようにシェーダーが動いてるのか観測するのに便利です。



2026年1月12日月曜日

Yetiのライセンスの通し方

Mayaのグルーミングプラグイン、Yetiのライセンス通し回です。

ライセンスは個人用(Indie)になります。

数年ごとに仕事で買ったりするけど、毎回どうするんだっけってなるのでメモ。

2026/01/22 pgYetiMaya.modの記述が抜けていたので追記

仕様について

いくつかライセンスを通す方法はあるのですが、

今回紹介するやり方はバッチファイル(.bat)を作って、それで起動すればYetiの使えるMayaが立ち上がる方法です。

なぜこうするかと言うと、必要ない時にYetiを読み込むと、MayaシーンにYetiが入り込み、Yetiを読み込んでいないとMayaだとプラグインエラーを吐くからです。

それが結構うっとおしいので使うときだけ読み込むようにこの方式にしています。

あと、環境変数とか深いところに手を入れなくても使えるのも結構お気に入りポイントです。

やりかた

購入後必要なバージョンをダウンロードする。

https://peregrinelabs.com/pages/download

C:\Program Files直下にYetiフォルダを作って解凍したファイルを全部入れる。

メールでライセンスファイルが届くのでそれも入れる

こんな感じになると思います。

フォルダ名がYetiFiveTwoZeroなのはYetiのバージョンごとにフォルダを作成しているからです。管理しやすい名前で問題ありません。

④pgYetiMaya.modの内容を書き換える。

↓今回は以下の記述に書き換え

+ pgYetiMaya 5.2.0 C:\Program Files\YetiFiveTwoZero

⑤テキスト編集ソフトで.batを作成する

です。

テキストの中身は次で紹介します。

.batの中身



アーノルドの記述に関して、たぶんもっといい記述があると思うのですが、ローカル環境でアーノルドのレンダリングに問題が起きてないのでとりあえずこれでよしとしています。

次入れるときはちゃんと調べよう。。。

2025年5月5日月曜日

NatronのACESの設定方法

 無料版Nukeとも呼ばれるオープンソースソフト、Natronの導入とACEScgでレンダーした画像の確認方法の紹介です。

まずはインストール

NATRON

こちらからソフトをダウンロードしてください。

解凍するとWindowsの場合Setup.exeが入っているのでそれでインストールします。


ACESのConfigを手に入れる

今回は1.2をダウンロードして使います。

任意のバージョン、プロジェクトで使っているものでも大丈夫です。

https://github.com/colour-science/OpenColorIO-Configs/releases/tag/v1.2

ダウンロードしてこちらも解凍します。

aces_1.2というフォルダをそのまま

C:\Program Files\Natron\Resources\OpenColorIO-Configs

ここに入れます。


Natronの設定

Natronを起動したらカラーマネージメントの設定をしましょう。

Edit → Preferences

ColorManagementのタブで

Open ColorIO Configurationをace_1.2に変更します。

ACEScgでレンダーしたexrのファイルを読み込んで

ビューワーの上のほうにあるViewew color processをLinear(None)にします。

読み込んだexrのreadノードのOutput ColorspaceをOutput/Output - sRGBに変更します。

これで見た目の設定は完了です。


NatronとArnoldの比較

NatronとArnold Render Viewの見た目を比較してみます。

左がNatron、右はArnoldです。

結果がしっかり一致しているのではないでしょうか。

アセットのルックデブの際の確認にNukeがあると非常に便利なのですが、

なかなかアセットチームまでNukeのライセンスが行き届かないのが現実だったりします。

そういう場合に無料で使えるNatronが便利だったりします。

次のNatron記事でBeautyの構築などについて触れたいと思います。


参考資料

https://discuss.pixls.us/t/using-aces-in-natron/16625




2025年3月19日水曜日

PBR基礎 PBRとは?

もはやCGのレンダリングであたりまえのように聞くようになったPBRについての導入記事です。

PBRとは?

Physically Based Renderingの略です。

日本語だと物理ベースレンダリングなんて呼ばれています。

Physically Based Lighting、Physically Based Shadingと呼ばれることもあります。

物理的なルールに基づいた近似モデルを用いて、質感を一貫性のある形で再現するレンダリング技術です。


PBRの特徴

現実的な質感表現

光の反射や吸収を物理法則に基づいて近似的にモデル化することで、リアルな質感を表現できます。

一貫した見た目

異なるライティング環境でも、マテリアルの見た目が大きく変化しにくいです。また、異なるアーティスト間においても一貫性のあるアセットを作成可能になります。

物理法則に基づいた設計

エネルギー保存の法則など、実世界の光の振る舞いに基づいた制約をシェーディングモデルに取り入れています。


PBRの基礎概念

エネルギー保存の法則

物体が反射・散乱する光の総量が、入射してくる光のエネルギーを超えないように制約されます。

フレネル効果

物体の表面角度によって反射の強さが変わる現象。

例えば、水たまりを真上から見ると透けて見えるが、斜めから見ると鏡のように反射する現象を指します。

マイクロファセット理論

表面が微細な凹凸で構成されていると仮定し、それが光の散乱に影響を与えます。

スムースな表面ほど光を均一に反射し、荒い表面ほど光を拡散します。

Roughnessは、その微小なばらつきを制御するパラメータとして使われています。

この3つが大まかな主軸になります。

それぞれの深堀は別記事でする予定です。


今回はここまでです。

もっと知りたいという方はそれぞれの深堀記事をお待ちください。


関連記事

[PBR]pbrマテリアルのSpecularRoughness初級編


2025年3月7日金曜日

[Arnold][Maya]TX Managerのエラー回避方法

 MayaのTX Managerが最近のバージョンでエラーを吐き機能しないことがありました。

職場環境だとすごい人がどうにかしてくれるのですが、家でとても不便!ということで調べてみたら解決策をやっと見つけたのでメモがてら記事にします。

エラー内容

[mtoa.tx] 0: E:\lib\substanceMaterial\substanceSource\kimono\kimono_Base_Color.tif could not be updated

と出て、.txが作られない。

更に時々エラー吐いてそのままMayaが落ちることがある。

エラー回避方法


TxManagerのTx Optons欄のDefault Options(auto tx)

のチェックを外すとエラー無くtxファイルを作成できます。


解決方法

上記の方法だと根本解決には至りませんね。

どうやらMayaのColor ManagementのOCIOがデフォルトの

<MAYA_RESOURCES>/OCIO-configs/Maya2022-default/config.ocio

だとエラーを起こすようです。

↓この状態


デフォでも必要最低限使えるから業務で求められなければ変えなくていいやって思ってたけど、こちらもちゃんと設定しないといけないなと思いました。



2025年2月28日金曜日

[Tips][Zbrush]ZbrushからVector Displacementを書き出す方法

 今回はZbrushからVector Displacementを書き出す方法を紹介します。

こんな感じのレンダリングができるマップを書き出しますよ!


Zbrushの設定

Map書き出しのために先にZbrushの設定を確認します。

Preference

>Import Export

>>Vector Displacement

>>>Flip And Switch1

>>>Tangent Flip And Switch25

次にmulti map exporterの設定を確認します。


Vector Displacementの欄、基本全部Onにしています。

設定が完了したらCreate All Mapsで書き出しします。



これで書き出すとこんな感じのマップが書き出されます!

おまけ

過去に自分が作成したZbrushからのマップ書き出しからMaya、Arnoldレンダリングまでの動画があります。


アサイン方法は別記事でアップ予定ですが、先に知りたい方などはこちらの動画をご覧ください~

※動画でFlip And Switch,Tangent Flip And Switchの数値を11,11で紹介していますが、少し古い知識です。

最近はこの記事で紹介しているようも1,25を推奨しています。

一応概要欄にも書いてますが、動画を修正する気力がなくてそのままです。すみません。。

関連記事



2025年2月19日水曜日

VectorDisplacementとは

今回はVector Displacementについて紹介していきます。

板ポリからこんな感じで形状を起こせるものになってます!

それでは見ていきましょう。

VectorDisplacementとは?

モノクロのDisplacement Mapは法線方向への頂点移動で形状を変化させますが、VectorDisplacementは法線方向以外にも頂点を移動させることができます。

実際にマップを作成してレンダーしてみましょう。

Zbrushで作ったモデルがこちら

この形状をDisplacementで再現します。



板ポリを準備してArnoldでレンダリングするとこんな感じです。

当然平坦です。

これにZbrushで書き出したVector Displacementをアサインすると

こうなります!

形状が再現できていますね!

ちなみに通常のDisplacementも書き出してみると

こんな感じになります。

アーチがつぶれちゃってるのがわかるかと思います。

これがDisplacementとVector Displacementの違いです。

Mapの見た目


左がVector Displacement Map、右がDisplacement Mapです。

Vectorは3軸あるので、RGBの3チャンネル持ったマップになります。

ちなみにこのVector Displacement MapはTangent Spaceです。

Vector Spaceについては次で説明します。


Vector DisplacementのVector Space


Vector DispalcementにはVector Spaceというものがあります。

これはどの座標系を基準にVector Displacementを適用するかを定義するものです。

MayaのDisplacement Shaderだとここにあります。


Vector Spaceは3種類あります。

Tangent Space

アニメーションされたキャラなどに適用するのに最適なものです。

業務ではこれしか使ったことがありません。

Object Space

動かないものに適用することができるものです。

アニメーションには向きません。

World Space

シーン全体のワールド座標を基準として適用します。

特殊な表現をする場合に使えるかも?


Tangent以外は使用したことがないのですが、基本的にTangentにすれば普通のテクスチャと同じように扱えるので管理もしやすいと思います。


プロダクションモデルの注意点

Vector Displacementの形状再現度の高さはわかっていただけたかと思います。

しかし、業務では大きな形状変化はほとんど使わないと思います。

アニメーションモデルから形状が大きく変わると、アニメーションがOKになってライティングして、レンダリングしてみると思わぬめり込み、エラーが発生することがあります。

Vector Displacementを使うとしても、通常のDisplacementを使うとしても、アニメーションモデルからシルエットが大きく変わらないように作成するべきと考えてます。

なるだけ大きい形状はポリゴンで作成して、細かい形状(鱗、皮膚のシワなど)の再現に使うといいでしょう。

ZBrushからの書き出し方は別記事で紹介します!

関連記事

[Arnold][チュートリアル]SSS「デジタルエミリーにスキンシェーダーを設定してレンダーしてみる編」



2024年11月29日金曜日

[Arnold]シェーダーパラメーター・Metalness金属再現編

以前の記事でMetalnessが何をしてるのか大枠を説明しました。

今回はMetalnessを使って金属の質感を再現する方法について見ていきましょう!


Metalnessを使わない金属の反射の再現方法

金属の反射を再現するのに、フレネル反射モデルで使われるn値とk値の2つのパラメータがあります。これらは、物質の光の反射特性を定義するために使われます。

n値(屈折率): 金属の表面における屈折率を示し、光がその表面に入るときの屈折の度合いを決めます。

k値(消衰係数): 光が金属内部に入ったときの減衰や吸収の度合いを示します。k値が高いと、光がすぐに吸収されるため、表面での反射が強くなります。

この2つの値を使うことで、CGでリアルな金属の見た目、特に色や光沢の正確な表現が可能になります。

アーノルドでは以前これをComplex IORというシェーダーで再現可能でしたが、こちらは現在使えないと思います。

Metalnessの目的

Artist Friendly Metallic Fresnel

↑2014年のこちらの記事が詳しく記載してくれています。

Metalnessは、n値とk値を直接扱う代わりに、もっと直感的に金属の見た目を再現できる仕組みです。

n値 → F0(正面からの反射率)

k値 → F90(斜めからの反射率)

と変換し、アーティストがスライダーや色を設定するだけで、複雑な金属のフレネル効果を簡単にシミュレーションできます。

これにより、物理的に正しい金属表現をアーティストが手軽に行えるようにするのがMetalnessです。

金属再現の際に使う数値一覧とレンダー画像

こちらはアーノルドで金属を再現するための数値表です。

アーノルドユーザーガイドより参照

上の図のリストのようにパラメーターを設定することで現実の金属の計測値をもとに質感を設定することが可能です。

Metalnessを1にしたうえでBase ColorとSpecular Colorにそれぞれの色を入れることが必要です。

金(Gold)に設定するならこんな感じです。


上のアーノルドの表の9つの金属をすべて設定してレンダリングするとこんな感じです。

こうやって見ると白系の金属もそれぞれ結構違いますね。

今回はここまで!

Metalnessをうまく使って金属をかっこよく見せていきましょう!

2024年10月11日金曜日

[Arnold]シェーダーパラメーター・Specular初級編

ArnoldのAi Standard SurfaceのSpecular(鏡面反射)の項目に関してまとめてみました。今回は初級編ということでパラメーターの紹介をしていこうと思います。

Ai Standard SurfaceのSpecularの項目

6項目ありますが極端な話


Roughness以外一旦放置して大丈夫です。
もちろん作成する質感によって調整することはありますが、必要になったら調整する
という考え方がいいと思います。
なんとなくでいじると物理法則から簡単に外れてしまうので根拠をもって調整しましょう。

それでは上から見ていきましょう。

Weight


鏡面反射の強度の調整をできます。
これは基本的に1のままにします。
物質の表面が光を反射するとき、その強度は場所によって変わらず一定であり、鏡面反射のハイライトの強弱はWeightではなく、Roughnessによる表面の細かい凸凹で再現されるべきです。
物理的に正しくない形状の補完(モデリングの省略をした場合)使うこともあります。
例えば人間キャラの鼻や喉の奥がふさがってるのが鏡面反射でばれてしまうのを防ぐために奥の部分はマップを書いて0にすることもあります。


Color


これは特殊な物質を表現するとき以外は白です。
鏡面反射に色がつくものは金属、一部の構造色をもつとされる物質、サテン、ベルベットのような布地等です。
多くのものはライトの光の色をそのままに返しますので白が物理的に正しいです。


Roughnes


物質の表面のザラザラ、ツルツル感を表現します。
これはBumpよりも更に細かい凸凹になります。
数値を上げるほど表面がザラザラになり、鏡面反射が拡散され、弱くなるように見えます。
上記のWeightの項目で書いた通り、鏡面反射の見た目的な強弱はこのパラメーターで調整するべきです。
Roughnessは物質ごとの決まった値は無く、表面処理を再現するものです。
PBR環境においてアーティストが唯一自由に扱える項目と言えるかもしれません。
腕の見せ所です!


IOR


Index of Refractionの略です。日本語で屈折率と呼ばれます。
物質の測定値がだいたいのもので出ているので、再現したい物質の測定値を調べて入れてあげるとよりリアルになります。
しかし、その情報が間違えている場合変な見ためになってしまうこともあるので慎重になるべきです。
プラスチック、塗装、陶器、ゴム等の絶縁体の際は数値で悩むくらいであれば既定値の1.5のままにしてしまうのが無難でしょう。
このIORはTransmision(屈折)にも影響を与えます。
透過物を作成の際は数値でかなり見ためが変わるので、これも気を付けて数値を設定する必要があります。

Anistoropy


異方性反射を再現するのに使います。
金属のブラシ表現、サテン等の布の表現などで使ったりします。

こんな金属の平面を

こんな感じの金属の鍋の底面みたいにすることができます。

詳しい使い方は他の記事で紹介します。


Rotation


異方性反射の方向を制御します。
異方性反射はUVベースで方向がきまり、それを回転させることができます。
なので、同じ方向に延びてほしいもののUVは同じ方向にそろえる必要があります。
ちなみに上の例の画像はこのRotationにRampテクスチャが入っています。

まとめ


これにて初級編は終了です。
Specularはどんなアセットでも調整が必要なパラメーターの一つだと思います。
しっかりコントロールして、良いSpecularの出るアセットが制作できるといいですね。
中級編に続きます!

2024年9月20日金曜日

[Arnold][Tips]複数のDisplacementMapをMayaで合成する方法

違うソフトで作成した複数種類のDsiplacementを合成したい!ということがよくあると思います。

今回はそれを簡単に紹介します!


Ai Addを使う

この二枚を合成します。(このプレビューテクスチャは視認性を上げています。)

それぞれレンダリングするとこんな感じです。

    

この二枚の画像のDisplacementを合成して一緒に反映させましょう。

Ai Addノードを作成して



このようにノードをつなぎます。

このDisplacementは中間値が0のものですので、シンプルにadd(足し算)で大丈夫です。

これでレンダーすると

こうなります!

簡単ですね!

Ai Addじゃなくても2つのInputを足し算するノードがあれば同じ結果になるはずです。

Displacementの中間値の確認

各ソフトでDisplacementを作成する際にそのマップの基準値を気にする必要があります。

ZbrushでDisplacementを書き出す際にはこちらのパラメーターを設定します。


読み込んだマップの中間値をアーノルドに指定してあげるのはここです。


Displacementは変形する際に基準値から高い数値は膨らみ、低い数値はへこみます。

もし中間値が0.5と0のDisplacementマップがあった場合はaddで合成して、アーノルドの中間値の設定を0.5にしてあげれば大丈夫です。

うまく使いこなして表現力を上げていけるといいですね!

それではまた次回!

2024年8月27日火曜日

[Arnold]Ai Standard Surfaceで使うテクスチャのColor Space,Bit数早見表

こんなのあったら便利かなという早見表です!

ArnoldのAi Standard Surfaceの各項目にどのColorSpace、Bit数のテクスチャを刺したらいいかの早見表です。

異論は認めます!

※この表はあくまで一例です。絶対正しいというものでもなく、自分の経験、知識をもとに作成しています。個人製作ならこんな感じで使っています。

※業務ではプロジェクトの仕様に従ってください。

この記事を書く際に参考にしてるソフトのバージョン

Maya 2024.2

Arnold MtoA5.4.1

この早見表が想定している仕様

この早見表は以下の仕様を想定して作成しています。

・テクスチャ制作環境のカラースペースはsRGBを想定しています。

・テクスチャのフォーマットはtif,またはpngの8か16bit、Displacementのみexrの32bitを想定しています。tifかpngかはこの早見表の内容的には問題ありませんのでお好みで大丈夫です。

・bit数は最低限確保すべきbit数を記入しています。データが重くてもよければ全部32bitでもいいと思います。ただし、カラー系のテクスチャはColor Spaceが変わる場合があるので注意が必要です。

・Color Spaceはfile nodeのColor Spaceを示しています。


Base

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit

Diffuse Roughness--------Raw,8bit

Metalness------------------Raw,8bit


Specular

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit

Roughness-----------------Raw,8bit

IOR-------------------------Texture非推奨

Anistoropy-----------------Raw,8bit

Rotation--------------------Raw,8bit


Transmission

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit

Depth----------------------Texture非推奨

Scatter---------------------sRGB,8bit

Scatter Anistoroy----------Raw,8bit

Dispression Abbe----------Texture非推奨

Extra Roughness----------Raw,8bit


Subsurface

Weight---------------------Raw,8bit

Subsurface Color----------sRGB,8bit

Radius---------------------Raw,8bit 要確認

Scale-----------------------Texture非推奨

Anistoropy-----------------Raw,8bit


Coat

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit

Roughness----------------Raw,8bit

IOR-------------------------Texture非推奨

Anistoropy-----------------Raw,8bit

Rotation--------------------Raw,8bit

Normal---------------------Raw,16bit

Coat Affect Color----------Raw,8bit

Coat Affect Roughness----Raw,8bit


Sheen

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit

Roughness-----------------Raw,8bit


Emission

Weight---------------------Raw,8bit

Color-----------------------sRGB,8bit


ThinFilm

Thickness------------------Raw,8bit

IOR-------------------------Texture非推奨

※Thicknessはテクスチャを必要な数値にリマップする必要あり。


Geometry

Opacity---------------------Raw,8bit

Bump Mapping-------------Raw,8bit

Anistoropy Tangent--------Texture非推奨


Displacement Shader

Displacement---------------Raw,32bit

Vector Displacement-------Raw,32bit

Scale------------------------Texture非推奨


以上です。これ以下の項目はテクスチャを使うことがかなりイレギュラーかと思いますので省きます。

細かい解説はそれぞれのアトリビュートの紹介ページでしていきます。

関連記事

[Arnold]SSS初級編

[Arnold]シェーダーパラメーター・Specular初級編



2024年8月2日金曜日

[Arnold]SSS Set Name

ArnoldでSSSを扱う際にはシェーダーだけでなく、ジオメオトリのアトリビュートも設定する必要があります。

今回はそのいくつかあるアトリビュートの中のひとつ、SSS Set Nameをご紹介します。

(↑の画像はサムネ用です)

SSS Set Nameとは?

SSSのシェーダーを設定している複数のジオメトリが交差するときに交差点が黒くなってしまうことがあります。

これを避けるのにSSS Set Nameを使います。

画像引用元:SSS Set Name - Arnold User Guide

こちらは公式ドキュメントの画像です。

左の画像は球体と棒の交差点が黒くなってしまっているのがわかると思います。

右が設定されている画像で、黒ズミが取れていることがわかります。

多くの場合、左で出ている黒ズミはエラーに見えたり、暗くなって汚く見えたりして取り除きたくなると思います。

その場合にSSS Set Nameを設定してあげます。

SSS Set Nameの設定方法 

アトリビュートの場所は↑の画像の通りです。

ジオメトリのShapeのほうにあります。

それぞれのジオメトリのSSS Set Nameの箇所に同じ名前を入力するだけで機能します。

名前はなんでも大丈夫です。(例 skinとか、アセット名とか)

SSS Set Nameを使ってレンダリングしてみる

キャラのモデルでレンダリングしてみるとどうなるでしょうか?

人のスキャンモデルの口内モデルをレンダリングしてみました。

ちょっとわかりにくいですが、左の画像は歯と歯茎の交差点を中心にオクルージョンのような影が少し入っているような感じで、右はそれが解消されています。

意図したレンダリング結果にするためには必要な項目になりますので覚えておいてください。

それではまた次回!