トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

BlenderのPrincipled BSDF機能

Blenderがすごいってtwitterで話題になっていました。

物理ベースレンダリング?マテリアル?機能が追加されたことで簡単にリアルなマテリアルをつくれるようになり、色々な環境でリアルに描写できるようになったらしいです。

その説明も含めて、下の動画がすごくわかりやすかったです。

また15分あたりから、一つ一つの機能を実際にやって見せてくれています。

www.youtube.com

PBR系はUnityだと下のアセットで使えます。 

bibinbaleo.hatenablog.com

 またSubstancrPainterもリアルな質感を3Dオブジェクトにペイントするためのソフトです。 

bibinbaleo.hatenablog.com

使う準備

blenderのver2.79をダウンロードします。

https://builder.blender.org/download/

新しい機能はノードを使うそうです。

ノードとか使ったことがないので、下の動画を見ました。

www.youtube.com

上の方の画面設定からCompositionを選んで、

f:id:bibinbaleo:20171010124214p:plain

こんん感じの分割画面にする。

f:id:bibinbaleo:20171010124202p:plain

もしくは左下の立方体マークからNode Editorを選ぶ。

f:id:bibinbaleo:20171010130228p:plain

ノードには3バージョンあるらしく、今回はマテリアルを編集するのでマテリアルを選んでUse Nodeにチェックを入れるとノードが現れる。

f:id:bibinbaleo:20171010130247p:plain

新しいノードを作るにはShift+A

f:id:bibinbaleo:20171010124208p:plain

ここで例のPrincipled BSDFがあるはずなんだけど・・・ない!

f:id:bibinbaleo:20171010130344p:plain

調べたらレンダーモードをCycle Renderにしないといけないそうです。上の方にある

f:id:bibinbaleo:20171010131459p:plain

この状態で新しくマテリアルを作ったら、さっきとノードの種類も変わって、検索したらPrincipled BSDFノードもありました!やったー!

f:id:bibinbaleo:20171010131552p:plain

Diffuse BSDFノードはXキーで消して、BSDFとSurfaceをつないで準備OK

あといちいちレンダリングボタンを押すのがめんどくさいときは、ビューをRenderモードにしていたらリアルタイムでレンダリングしてくれる。

f:id:bibinbaleo:20171011145620p:plain

やってみる

上の方から順番にやって見ます。これがデフォルトの状態。IBLしたけど。

f:id:bibinbaleo:20171011160455p:plain

BaceColor

そのまんま。色がつく

f:id:bibinbaleo:20171011160618p:plain

 

subsurface

人肌とか牛乳、大理石などを再現するやつ。

f:id:bibinbaleo:20171011160544p:plain

ちょっとやりすぎた。

f:id:bibinbaleo:20171011161728p:plain

Metal

金属の場合は1。それ以外は0。間は存在しない

f:id:bibinbaleo:20171011162616p:plain

f:id:bibinbaleo:20171011162620p:plain

Roughnessの値でツルツル度が変わる。上は0.5、下は0

f:id:bibinbaleo:20171011162611p:plain

Specular

いじらない。自然界?は全部0.5らしい。ツルツルさは、全部Roughnessで変化させるべし。

Roughness 

ザラザラ度。

f:id:bibinbaleo:20171011162821p:plain

0にするとプラスチックとか陶器っぽい。

f:id:bibinbaleo:20171011163454p:plain

0.5はデフォルト

f:id:bibinbaleo:20171011163447p:plain

Anisotropic

フライパンのうらや、髪の毛の天使の輪的なやつ。ほとんど使わない?

Sheen

布を表現するときに使う。繊細な光がうっすら現れる。

一応左がSheen1、右が0。

f:id:bibinbaleo:20171011164647p:plain

f:id:bibinbaleo:20171011101255p:plainf:id:bibinbaleo:20171011101300p:plain

ClearCoat

木目にニスを塗った時とか、車の塗装とかに使う?

 

基本的にはプラスチック(roughness0)とそんなに変わらない気がします。

f:id:bibinbaleo:20171011173744p:plain

左がクリアコート

f:id:bibinbaleo:20171011173333p:plainf:id:bibinbaleo:20171011173740p:plain

Transmission+IOR

透明度。Metalを0にした状態で、Transmissionを1にするとガラスになる。

IORは屈折率。デフォルトの1.45はガラスみたいですね

屈折率データ

f:id:bibinbaleo:20171011180106p:plain

Roughness1だとすりガラスみたいになる。

f:id:bibinbaleo:20171011180113p:plain

IOSを適当に3.8にしたら水銀みたいになった

f:id:bibinbaleo:20171011182002p:plain

水(0.85)だとこう!水ですね!CGっぽくて好き

f:id:bibinbaleo:20171011182239p:plain

Blender Addon Review : IOR値を調べないで済むアドオン(IOR Reference) – CGrad Project

テクスチャを使う

この動画で詳しく説明してありました。

www.youtube.com

テクスチャを入れるときはノードでImageTextureを追加して、テクスチャを選ぶ。それをBaseColorにつなぐ。

f:id:bibinbaleo:20171010135856p:plain

https://www.poliigon.com/texture/2197

動画で紹介していたテクスチャは上のリンクからすぐにダウンロードできた。基本は有料みたいだけど、いくつかFreeのテクスチャがある。

UVは展開しておかないと、テクスチャが反映されない。Editorモードにした状態で、Uキーを押してUnrap(展開)。

他のノーマルマップなどはColorをNonColorDateにする。

f:id:bibinbaleo:20171011182320p:plain

おまけ:IBL

unityでいうskybox的存在のIBLをCycles Renderでやった。

tofusan.cocolog-nifty.com

デフォルトのrenderはこっち

bibinbaleo.hatenablog.com

マテリアル何もいじってないのにこんなに綺麗!だからIBLはやめられない

f:id:bibinbaleo:20171010232555p:plain

 

おまけ:レンダリング

こちらのサイトを参考にレンダリング設定を見直しました。

www.storange.jp

ずっと白いツブツブが出ていたのですが、SamplinのRenderの数字を大きくしたら解決しました。

f:id:bibinbaleo:20171011160436p:plain

最後に

blenderに慣れてないためすごく時間がかかりましたが、めっちゃ楽しかったです。

ずっとIBLとマテリアルに触れ合っていたい。

f:id:bibinbaleo:20171011200535p:plain