ラベル チュートリアル の投稿を表示しています。 すべての投稿を表示
ラベル チュートリアル の投稿を表示しています。 すべての投稿を表示

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を推奨しています。

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

関連記事



2024年5月4日土曜日

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

(2024/10/05 カラーテクスチャ、HDRIのColor Spaceが間違えていたので修正、画像の差し替え) 


今回はデジタルエミリーのレンダー画像をレンダーするまでの諸々の設定を紹介します。

なるだけどうしてこうしてるのか説明しながら進めていこうと思います。

こんな感じのレンダー画像を作っていきます。

前回と違う点はHDRをフリーのものにしたのと、目のシェーダー設定の説明はこの記事では省きたかったためグレーマテリアルにしています。

スキャンモデルでシェーダーの勉強をするメリットは、形状情報がある程度物理的に再現されてる保証があるということです。

シェーダーでできること、形状(スカルプト等)でできることを切り分けて考えられるようになると思います。そうするとモデルを1から作成した際にあなたのモデルの何が足りてないのかが見えてくるようになると思いますので重要なプロセスだと考えます。

使用ソフトウェアとデータ

Maya 2022.5

Arnold MtoA5.3.3.1

Model Data digital emily 2

https://vgl.ict.usc.edu/Data/DigitalEmily2/

モデルはこちらからお借りしてます。感謝!

https://polyhaven.com/a/cyclorama_hard_light

HDRはこちらを利用してます!


モデルの設定

Emily_2_1.objをmayaに読み込みましょう。

このモデルはフルスケール(実寸)ですのでサイズはこのままで大丈夫です。

Subdivisionの設定をしていきます。

設定内容はこちらの記事で紹介した通りです。

↑こんな感じです。

Iterationsの数値は高いほどレンダーが重くなります。

後程設定するDisplacementをアサインするものは4、アサインしないものは2でいいかもしれません。

ColorManagementの設定

カラースペースをACEScgにしてレンダリングしたいので設定を確認しましょう。

今回使用するMayaのバージョンだとデフォで設定されています。

↑こんな感じです。

View(Transform)はMayaが古いバージョンだとACES RRTみたいな感じのものがこれと同じ設定になると思います。

ライトの設定

Ai Sky Dome Lightを作成します。

今回使うHDRIはこちらです。

HDRIをHypershadeにドラッグ&ドロップします。HDRIテクスチャのカラースペースはscene-linear Rec,709-sRGBです。

ColorにこのHDRIを刺します。

Samplesに上げておきます。

レンダー設定

一度レンダー設定をします。

過去記事で紹介したレンダー設定のスクリプトを走らせます。

必要に応じてレンダリングしながら設定は変えていきます。

AOVの設定はこの記事では省きます。

シェーダー設定

今回はEmily_head以外の設定を省きたいのでまずベースのグレーマテリアルを作成します。

Ai Standard Surfaceを作成して以下の設定にしています。

これを一度全部にアサインします。

次にEmily_head用のシェーダーを準備しましょう

もう一つAi Standard Surfaceを作成して顔のジオメトリにアサインします。

まずはカラーテクチャを入れていきましょう。

今回のDLしたデータだと眉毛や髪の毛の毛根のあるカラーテクスチャとそれを省かれてるカラーテクスチャがあるので、省かれてる方を使います。

Color_unpaintedのほうの00_diffuse_unlit_unpainted.exrを読み込んでSubsurface Colorに刺します。

このテクスチャはexrなのでscene-linear Rec,709-sRGBにColor Spaceを設定します。

tif,pngなどでカラーテクスチャを作成する場合は大抵sRGBに設定することになると思います。

作成したテクスチャをどのColor Spaceで使うと狙い通りになるのかはちゃんと把握しながらテクスチャを作成する必要があります。

他にDLデータにはScatterマップとSpecularマップも入っているのですが、今回は利用しません。

ScatterマップはSubsurfaceのWeightに差し込む想定と思われますが、ArnoldのAi Standard Surfaceの場合SSSはきれいな肌の場合はWeightは1にして、Radiusのほうで強弱をつけるほうが物理的に正しくなると考えられます。

肌の表面に汚れ(土とか、血とか)がついてる場合、濃いめの化粧をしてる場合にマスクを使ってSubsurfaceのWeightを調整するのが望ましいと考えられます。

次にSpecularマップですが、これはSpecularのWeightに刺す想定と思われます。

しかし、多くの物資は光が当たって反射されるエネルギー量は箇所によって変化は無いはずです。

肌の表面のザラザラ具合、ツルツル具合で質感(鏡面反射と影)が変わるので、これはDisplacement,Bumpによる形状ディテールと、SpecularのRoughnessによるマイクロディテールで再現されるべきです。

この場合付属してるSpecularマップを編集してRoughnessマップとしていい感じにするとよいと思います。

今回はそこまでしません。

RoughnessIORを数値で設定します。

今のところカラーテクスチャのみを使っています。

一度レンダリングしてみましょう。

SSSが強すぎるて肌がかなり透けてしまっているようですね。調整していきましょう。

ScaleRadiusを調整します。

ここではアーノルドユーザーガイドにのってるパラメーターを拝借します。参照元

このヒントを参考に設定します。

Scaleは1だと強すぎる印象だったので0.1にしたところ丁度良さそうでした。

質感調整の際にScaleRadiusは両方をいじらず、Scaleは固定して、Radiusに集中したほうがいいでしょう。

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

一気に人っぽくなりましたね。

SSSのサンプルが足りなさ過ぎて画面がジャギジャギしてますね。

レンダー設定を変更します。

SamplingSSSの数値を1から3に上げます。レンダーしてみましょう。

これでディテールが確認しやすくなりました。

肌の感じはよさそうですね。これでSSSの設定は完了です。

次にDisplacementマップを設定していきましょう。

Displacementは00_displacement.exr00_displacement_micro.exrの二枚が付属しています。

これは両方使います。

二枚のDisplacementマップをMayaのHypershade上で合成します。

一枚ずつどんな情報が入ってるのかを確認しましょう。

まずは00_displacement.exrを設定していきましょう

HyperShadeでDisplacement Shaderを作成しましょう。

マップも読み込んで、RチャンネルをDisplacementに差し込みます。

レンダーしてみましょう

細かい凹凸や眉頭あたりの隆起などが追加されてよりいい感じになってきました。

次にDisplacement_microも設定していきましょう。

このmicroにどういう情報が入っているのか確認します。

Displacementマップをmicroに差し替えてレンダーしてみます。

ちょっとけばけばしてるように見えますね。

Displacementの強度が強いようなので調整します。

どれくらい弱めればいいの?ってなりますが、自分で1から作ってるモデルならAOVsのNとSpecularを見ながら微調整をする形になります。

今回はデータ配布元でMicroは0.01倍すると書いてるのでそれに一度従ってみましょう。

HypershadeでAi Multiplyを作成し0.01を乗算します。

レンダーするとこんな感じです。

これでよさそうですね。

Microマップは名前の通りかなりかなり小さい凹凸を表現してるマップのようです。

そうしたらこの二枚のDisplacementマップをHyperShadeで合成して使いましょう。

Ai Addを作成し、2つのDisplacementマップを刺して合成し、OutColorのRチャンネルをDisplacementに刺してあげましょう。

これでレンダーするとこんな感じです。

これで完成です!お疲れ様でした!

もっとよくするには?

さて、今回は配布データをもとになるだけPBRに沿った形式で簡易的に質感を付けてみました。

もっとリアルにしたい場合にはどうすればいいでしょうか?

・ラフネスマップを作成し場所によるスペキュラの強さの違いを出す。例えば唇はもう少しプルっとしていてもいかもしれません。

・SSSRadiusのマップを作成、SSSの強度の場所による違いを出す。例えば瞼は周りはSSSが強く出てしまっているので、もう少し弱くしてあげたほうが自然に見えるかもしません。

他にも実際の人間の写真、自分の顔と見比べるといろいろ違和感が出てくるでしょう。それをひとつずつ向き合って解決していくことでリアルなCGに少しずつ近づいていけるのではないかと思います。

地道な積み重ねですので、SSSにたくさん触れて慣れていきましょう!

また次回!

2023年12月24日日曜日

[Arnold][チュートリアル]サブスタンスペインターで作成したテクスチャをアーノルドでレンダリングする。

この記事ではサブスタンスペインターで作成したテクスチャをArnoldでレンダリングして再現みようと思います。

これくらい結果が近くなります!


使用するソフトとバージョン

この記事でのソフトのバージョン、環境は以下です。

Maya 2022.5

Arnold MtoA 5.3.4.1

Substance Painter 8.2.0

ColorSpaceはACEScgでレンダリングします。


今回の題材

今回の題材はこちら!


上の画像はMayaのアーノルドでレンダリングしたものです。

金属に黄色い塗装がされて汚れているマテリアルです。

某黄色い車に変形するロボットを参考にテクスチャを作成しました。


サブスタンスのPBRShaderとArnoldのAi Standard Surfaceシェーダーは大きくは考え方が変わらないものになっています。

少ない項目をしっかり抑えることで簡単に再現できるようになっています。

それではやってみましょう。


Substance Painterのビューポート設定

Substance PainterでACESのルックにする設定はこちらです。

Tone MappingのFunctionをACESに変更します。

Substance PainterからTextureをエクスポート

まずSubstance PainterからTextureをエクスポートします。

テクスチャの書き出し設定はデフォルトのArnold UDIM Legacy(Ai Standard)で描き出します。


書き出すテクスチャはBaseColor,Roughness,Metalness,Normalの4種類です。


Mayaの設定

次にMayaの設定をしていきましょう!

まずはColorManagementの設定をします。

この項目はMayaのバージョン、Arnoldのバージョン、読み込んでるOCIOで表記が変わります。

Ai Standard Surfaceの設定

Ai Standard Surfaceを作成します。

テクスチャをインポートしてテクスチャノードを設定していきます。

UV Tiling Modeは今回はOffです。UDIMを使う場合UDIM(Mari)にします。
Color SpaceはBaseColorはsRGB、Roughness、Metalness、NormalはRawにします。

Ignore Color Space File Rulesにはチェックを入れておきます。


シェーダーのこの図のパラメーターにテクスチャを刺していきます。

シェーダーのパラメーターはいじりません。

BaseColorにBaseColorテクスチャ

MetalnessにMetalnessテクスチャ

Specular RoughnessにRoughnessテクスチャ

NomalCameraにAiNormalMapノードを刺してそのInputにNormalテクスチャ

を刺します。

レンダリングの設定

Ai Dome Lightを作成し、Substance PainterのHDRIを刺します。

SubstancePainterのHDRIの場所の確認はEnvironmentのタブで場所を確認したいHDRIの場所にカーソルを合わせ右クリック→Show in →Show in Explorerを押すとexplorerが開きます。


こちらからmayaに読み込みます。

このHDRIのColorspaceはscene-linear Rec 709/sRGBに設定します。

アーノルドのレンダリング設定は記事の最後に記載します。

レンダリングした結果がこちら


Substanceとの比較画像をもう一度

とくにシェーダーのパラメーターをいじらずにたったこれだけで再現可能です。

GI(Ray Depth)の設定が違ったりするので完全一致とはいきませんが細かい設定をせずにこれだけ再現できれば十分じゃないかと思います。

レンダーリングのサンプル設定はこちら↓

ライトのサンプルは2にしてます。