Human face rendering

Maxwell Renderでレンダリング。

human face, maxwell render. hair shader, skin shader

MaxwellでHair shader

ヘアシェーダは3つのレイヤーで作りました。

ベースカラーにスペキュラを2つ重ねています。

これもまた正解というのはなさそうで、髪の状態によっても変えないといけないですね。
異方性反射も入れてます。

rootとtipのカラーはグラデーションテクスチャをチャンネル0に設定すれば良いので簡単。部位によるカラーの違いはテクスチャをチャンネル1に設定します。

反射の加減がとても難しいです。HDRIをあれこれ変えながら、いろんなライティング下で確認するんですが、もうちょっとパパッと決めれるようにしないと。Maxwellは確認のレンダリングも結構コストかかるんで。

最終的にはHDR Light Studioを使い、スタジオライティングのような感じになりました。

しかしまだまだ研究の余地ありまくりのようです。

髪の質感ではスペキュラの調整にてこずっていますが、もう一つ、髪の毛って、一応は光を透過するので、Transmittanceを使うべきかも悩みますが、これを使うとなるとまたシェーダ設定がややこしくなってしまうので、今回はカットしています。

この点は、別のレンダラで試してみたいと思います。

参考資料

Aronld Render (Help)
https://support.solidangle.com/display/mayatut/Hair+Rendering

Maxwell Render (Help)
http://support.nextlimit.com/display/mxdocsv3/Hair+and+Fur

danroarty.com
http://www.danroarty.com/

THE FOUNDARY COMMUNITY
http://community.thefoundry.co.uk/discussion/topic.aspx?f=4&t=61780

Real-Time Hair Simulation and Rendering
http://hairrendering.wordpress.com/2010/06/26/marschner-shader-part-i/

HIROSHI MIYAMOTO BLOG
http://cieloblog.blog75.fc2.com/blog-entry-18.html

Blender hair

セクション分け

Human faceのhairを作成するためにモデルをblenderへ移します。

blenderによるhair作業では、hairのセクションを先に決めています。
トップ、フロント、サイド、バックなどをVertex Groupに分け、それぞれにパーティクルを設定していきます。こうしておくと、それぞれのセクションを編集しやすくなります。特に最後の微調整時。

左右対称で良いところ、そうでないところは把握しておき、hairの編集時にX Mirrorを使い分けています。

場合によってはポイントをひとつひとつ操作していくこともあり、セクション分けをしておくと、他のhairを非表示にしたりできるので、作業もしやすくなります。

セクションを分けると、それぞれにChirdrenやMaterialを設定しないといけないので、多少面倒なところもありますが、それでも全てのhairを表示したまま作業するよりはマシかなと、今のところは感じています。

20141109-2

ヘアカット & スタイリング

hairを作っていて、まずぶち当たったのは、そもそもどこがどの程度の長さで、とか、この髪型の場合、各セクションの長さはどうするべきか、といったことで、これはCGの知識ではどうしようもありませんでした。

以前のブログにも書きましたが、これはヘアカットをしている理容師、美容師の知識が必要になってきます。ヘアカットの知識や、ヘアスタイリングの考え方を知っておかないと、適当にhairを作ってもダメだなと感じました。

幸い、知り合いにそういった方もいましたので、意見を頂戴しにいったところ、ありがたいことにいくつかの本を貸してくれたので、そちらで基礎を勉強させてもらいました。実際、本を読んでみて、各セクションの髪の長さ、パーマのかけかた、バリエーション、スタイリングについてある程度学ぶことが出来ました。

ヘアスタイリング特集などの雑誌より、プロの理容師が読むような専門書の方が良いと思います。

こちらは基本のボブカットを参考にblenderで作業したものです。
修正したい箇所もあるんですが…
20141109-3

次はパーマも作ってみたいですね。

長さ、流れ、ボリューム感を意識して

作っていて難しいと感じるところは、

各セクションの長さのコントロール
毛の流れ
ボリューム感

です。blenderでは、

長さ・・・Lengthで調整
流れ・・・Combで調整
ボリューム感・・・Addで植毛し、ChirdrenのLength値とThreshold値でセニング効果がだせます。

あたりを使って微調整をしていきますが、難しく感じるのは長さで、これを揃えながらというのが難しいです。とにかく繊細に作業していきます。時に全体のバランスを見ながら。

 前髪と産毛

今回は前髪をワックスをつけたような先端が少しツンツンした感じにするために、ChirdrenのClumpを高めに、Shapeを低めに設定しました。

生え際の産毛はさらにパーティクルを追加し、長さを短めにして、前髪の根元を補完していきました。少しだけ、StrandのRootとTipを細くし、カラーも薄くしています。

レンダリング

今回はblenderのデフォルトレンダラで、hairの状態確認のため、GIなし、SSSもなしです。

20141109-4

微妙に似ない^^;;

用語の書き方をどうするか、悩みます…

hair or ヘア

とか…

 

 

3D-Coat V4.1

Maxwellのスキンシェーダがそれとなくまとまったので、再びテクスチャの描き込みをしていきます。

強力なUV編集ツール

テクスチャの無駄を省くため、UVを再調整しました。
UV編集作業が強力な3D-Coatですが、選択機能が少々扱いにくい。

範囲選択の精度がもう少し良くなればな…と感じます。

UV編集はブラシツールを主に使って行っています。微調整が必要なときはポイントを単独で調整したりもできますが、ブラシサイズを小さくして行うことの方が多いです。

ブラシはペイントモードやスカルプトモードの時と同じ感覚で使えます。

頂点、エッジ、面の移動だけでなく、Shiftキーを押しながらのスムースに、Ctrlキーを押しながらの縮小、Shift+Ctrlキーによる強力スムースが便利です。

あとUVのコピー&ペーストも結構便利。

UVの編集が終わったら、UVセットを適用して、ペイントしていきます。

ペイントも優秀

Photoshopに似たレイヤー構造でペイントをすることが可能であり、Photoshopに出力し、編集して戻ってきたりといったことも出来ます。完全にレイヤー構造が同じではないですが、あまり気にはなりません。

ペイントモードでは、カラー、スペキュラ、ノーマル、ディスプレイスメントのテクスチャを描いていきます。ツールはシンプルですが、マスクやマテリアル、ブラシ、カスタムブラシなどを活用することによって、かなりスピーディに作業を進めることが可能です。

超高解像度テクスチャになるとメモリがかなり厳しくなりますので、そういったケースが多い方はMariの方が良いのかなと思います。Mariは見ただけで触っていませんが…

少し前、近々Beta verでPBRに対応するような旨が公開されており、これはgoodなニュースです。

http://3d-coat.com/forum/index.php?showtopic=4372&page=31

あと、個人的にはレイヤーのカラー調整などがもうちょっとやりやすくなると良いなと感じます。もう少しインタラクティブに調整、プレビューできると良いなと。PBR対応なら余計にそう思ってしまいました。

Beta verはアップデートが頻繁なので、更新を追っていくだけでも大変ですねぇ。

UV、リトポ、ペイントとかなり強力な3D-Coatですが、スカルプトもV4になってから相当良くなりましたね。

 

 

 

 

Skin shader

Maxwell Renderでスキンシェーダの構築を考える

スキンシェーダについては、色々と調べてみたところ、どうもこれ!という設定方法が見当たらず、割と皆、それっぽく見える設定を工夫して構築している、という印象を受けました。

見た目ベースってやつですね。

Maxwell Renderの公式サイトギャラリーにもスキンシェーダに特化した作例もこれといって見当たらないし、マニュアルにもスキンシェーダの構築方法に関する記述も乏しいので少々残念です。

Maxwell RenderのSSSの使い方ですが、MXM Galleryから参考になりそうなマテリアルを拝見しても、どうも統一感がなく、SSSレイヤーをそんな風に使うのか、と思うような設定も結構たくさんあって、見れば見るほど、スキンシェーダの作り方がよく分からなくなってしまいました…

ので、ひとまず自分なりのMaxwell Renderによるスキンシェーダを構築しておこうかと思いました。

Arnold Rendererを参考にしてみる

構築するにあたって、まずはArnold Rendererのマニュアルを拝見。

何故Arnoldかというと、マニュアルが非常に分かりやすいのと、シェーダ設定がユーザーにとって比較的簡単に作られている、ような印象を受けたからです。ついでにスキンシェーダ専用のマニュアルまで用意してくれていますし。

Arnoldのマニュアルによると…

https://support.solidangle.com/display/mayatut/Guide+to+Rendering+Realistic+Skin

https://support.solidangle.com/display/AFMUG/Skin

SSSレイヤーを3層
・deep
・mid
・shallow

に分け、その上にスペキュラ層
・specular
・sheen

をのせる。

3層のSSSレイヤーについては、
deep = hypodermis(皮膚下の細胞層)
mid = dermis(皮膚下の血管、リンパ管、神経末端等のある層)
shallow = epidermis(皮膚の表面層)

ということになるだろう。

2層のスペキュラは表皮の皮脂成分をシミュレートする。

SSSレイヤーはそれぞれ
SSScolor or texture
weight
radius
の組み合わせであり、スペキュラは別に設定するようだ。

皮膚関連の論文も参考にしてみる

シェーダ構築のヒントになればと思い、いくつかを参考にしてみる。

Light Diffusion in Multi-Layered Translucent Materials

A Spectral BSSRDF for Shading Human Skin

他にもいくつか目を通す。

皮膚の構造上、SSSレイヤーを最低2層は用意した方が良さそうではあるものの、レンダラのアルゴリズムの違いで、このあたりの設定は変わってくると思われる。

Maxwell Materialに落とし込む

今回はArnoldにならい、3層のSSSレイヤーを使い、Maxwellへと落とし込んでみることにした。

deep, mid, shallowのSSSレイヤーをそれぞれOpacityを変え、Normalで重ねていく。SSSレイヤーをadditiveで重ねるとどうもおかしな結果になってしまった。

さらに2つのスペキュラレイヤーをadditiveで重ね、リップなど必要であればマスクテクスチャを活用し、スペキュラを更に重ねる。

ディスプレイスメントマップで皮膚の大きめな凹凸のディテールを追加。

微小な凹凸はノーマルマップで。
SSS層はやや弱め、スペキュラ層にやや強めに設定。

最初より良い感じの透明感、皮脂感が出てきてはいるが、まだ違う感じ。SSSはある程度サンプリングレベルが進まないとSSS特有の微妙な透明感が確認できないので、時間かかってしかたない…

Maxwell Renderだから、というのもあるけど。

20141101-1

test image

3D-Coatでテクスチャのディテールを再度調整してみる。

彫刻を学ぶには

デジタルスカルプティングをしていくにあたり、彫刻を実際にやってみたいと思うようになりました。

最近人体形状を粘土でつくったり、してはいますけれども…

先日、書店で見つけたこの書籍、私のような彫刻の基礎すらまだ理解していない者にとっては価値のある良書だと思いました。

かなり丁寧に手順、形状の捉え方、表現方法などが書かれているので、すごく参考になります。

彫刻の話をしていたら、最近”らんま”って見ないよね。

と言われまして、らんま1/2ですかなどと本気で思ったわけですが、欄間のほうでした。

あぁ、確かに、最近欄間のある家は希少価値ありそうな気がします。欄間職人の彫刻もそれはもう素晴らしいですよね。あれは惚れ惚れします。

欄間の良さをすこしは感じるようになったという事は、年をとった、という事でしょうか…

そういえば、ばあちゃんの家には欄間があった気がする。気がするだけです。うろ覚えかもしれないけど。

そういう職人技術を何かプロダクトに活かせないかな、などと思ったりしました。

しかし、今の時代。

3Dプリンターで、とか言われそうで…

とにかく、彫刻を勉強したい私にとっては良い本だと思った次第です。

デジタルスカルプトや粘土だと、失敗したとしてもなんとか修正できるのですけど、木とか、石の彫刻って、バキッとかなるとアウトなんでしょうか。

それとも修正する技術もあるんでしょうか。

気になります。

20141019-1