スクリーンショット_2019-04-18_18

[2.8] BI → EEVEE

「なんで2.80はまだベータで7月にリリース予定がずれ込んだのに2.80用のビデオチュートリアル既にたくさん出てんのさ?」って疑問に思ってる人たくさんいると思います。ぼくもそう思う。

さて、2.79から2.80の移行で大変な思いをするのがマテリアル、Blender Render(BI)からEeveeへの移行かな、と思います。パネル設定ベースからノードベースになる部分の考え方の切り替えに手間取る可能性はあります(BIでもノード組めますけど、自身ではほとんどやったことないです)。BIとEeveeで読み替える部分について基本的なところを書いてみました。

・  [2.8]マテリアル設定 も参照いただくと理解が進むと思います。

Shader Editor(2.79だとNode Editor)の使い方そのものについてここでは触れませんので、こちらの動画を。

3Dビューの表示:シェーディング

シェーディング設定が微妙に違います。プロパティシェルフにあったMultitextureとGLSLの表示切り替えは(Cycles同様)無いです。

あと3Dビューの見た目についてはあまり気にしないようにしましょう。

[2.79]

画像1

[2.80]

画像2

2.79の Texture 表示モードは Solid のオプションとして設定可能です。(Colorに"Texture"を設定)

画像3

画像4

画像5

画像6

カラーマネージメント

2.79と色味を合わせたい場合にはプロパティパネル、Renderタブ>Color Management >View Tranform の値を Filmic から Default に変更します。

[2.80]

画像7

画像8

マテリアル:シェーダー

Diffuse、Specular に指定できていたシェーダーはShaderノードに統合されました。適切なシェーダーを選択します(大体はPrincipled BSDF で賄えます)。

なお、2.80 には Toon BSDF Shader はありますが、Eeveeでは今のところ未実装です。

・ Toon っぽい表現は [2.8]BNPR - Cell Shading を参照してください。

[2.79]

画像9

画像10

[2.80]

画像11

画像12

(Eeveeの)質感について感じが掴みにくい、という場合にはPBR Materials Add-onを試してみると良いですね。

マテリアル:ソリッドカラー

ソリッドカラーのマテリアルを設定する時には、2.80ではDiffuse を指定すればよかったのですが、2.80では Use Nodes がONの時(デフォルトでPrincipled BSDFシェーダーが選ばれる)、Base Color に色を指定します。

[2.79]

画像13

[2.80]

画像14

画像15


マテリアル:テクスチャ画像

2.79ではプロパティパネルのマテリアルタブで変更対象のマテリアルを選択して、テクスチャタブを開く、という儀式めいた手順がありました。この辺りつまづかれた方もいると思います。あとMultitextureとGLSLの表示とかで混乱したりね。

2.80ではUV展開済みのメッシュであれば比較的簡単にテクスチャ画像を読み込んでマップ済みの画像を表示できます。

[2.79]

画像16

[2.80]

画像17

画像18

UV

2.79から持ってきたUV展開済みメッシュデータはUV情報を保持しているので、ひとまずUVマップがあるかを確認して、上記のテクスチャノードつなぐ方法で。

画像19

マテリアル:透過(Z Transparency)

単純に透過で、レンズのようになって歪まない画を作る場合にはGrassシェーダーを使って(+アルファ設定変更)実現できます。

2.79の Z Transparency

[2.79]

画像20

[2.80]

画像21

画像22

マテリアルの透過設定をAdditiveに変更する必要があります。

画像23

画像24

マテリアル:テクスチャ画像(アルファ透過)

画像25

「Eeveeでアルファをきっちり抜きたい」場合には公式に当てはめるかのような感じで以下のノード構成を使います。(2.80のPrincipled BSDFにアルファの入力項目が増えたのでそっちに直接繋いでもいいかもしれない)

画像26

Eeveeではそれに加えて、マテリアルの透過設定を指定する必要があります。

画像27

画像28

マテリアル:エミッション

常に明るい、そういう表現をしたい場合には Emission ノードを接続します。BIでは Shadeless を ON にした場合の表示ですね。

画像29

EeveeとCyclesでは微妙に異なる(Cyclesでは発光体として機能)ので、そこだけ気をつけてあげれば良いです。

画像30

テクスチャ画像を使用する場合はこのような感じになります。

画像31

画像32

実は2.80ではノードを介さないでカラーを直接出力できたりします。見栄えとしてはEmissionノード(Strength=1.0)を使った時とほぼ同じ。

ただ、直接カラー出力をシェーダー入力に接続するのはレンダリング時に情報が欠落するため、Emissionシェーダーをかますなどしてください。

画像33

ノーマルマップ

2.79では全体的に紫の画像を使う時はテクスチャをどのようにマップするかというのをテクスチャタブのパネルから指定していました。

2.80ではImageテクスチャノードに画像を指定、カラースペースをNon Color Data として Normal Map ノード経由で繋いであげれば良いです。本当にあっているかどうか知らないですけど。

・ Normal Map ノード追加は [Shift]+[A] > Vector > Normal Map

[2.79]

画像34

画像35

画像36

[2.80]

画像37

画像38

頂点カラー

2.79のBIでは頂点カラーはマテリアルの"Vertex Color Paint"というオプションを有効にすることでマテリアルに反映されました。

2.80では Data タブの Vertex Colors の情報をAttributeノード経由で頂点カラー情報を取り出します。([Shift]+[A]>Input>Attribute でAttributeノードを追加、NameにVertexColorsの定義名、デフォルトだと"Col"を指定)

[2.79]

画像39

[2.80]

画像40

画像41

まとめ

・ シェーディング設定が微妙に違う(表示オプションを確認しましょう)
・ カラーマネジメントのデフォルトが違う
・ シェーダーはPrincipled BSDFをよく使います
・ アルファ透過したい場合には観念してノードを覚える+透過設定
・ マテリアル出力にカラーそのまま突っ込めるらしい(非推奨)
・ ノーマルマップは"Non Color Data"指定
・ 頂点カラーは Attribute ノードを指定


お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!