[Blender 2.8] メッシュの形状を変化させずに見た目を変える、メッシュのシェーディングの設定や操作方法について
今回の記事は、Blenderで、ポリゴン数を変えずにオブジェクトの見た目を操作できる、シェーディングに関する知識から、操作・編集・設定方法について取り上げさせていただきたいと思います。
今回は本当に基本の部分を取り扱わせていただきたいと思います。扱う内容をまとめると以下のようになっております。
- 『シェード』、『シェーダー』、『シェーディング』の違い
- 基本で用意されている『シェーディング』タイプ2つについて
- 『シェーディング』をメッシュオブジェクト全体で変更する方法
- 『シェーディング』をメッシュの一部だけ変更する方法
まず最初に、基礎知識として『シェーディング』とは、 オブジェクトへ行う”陰影付け”に関する事や設定を指すのですが、(あくまで”Blender”ではという狭義的な意味合いも入ってきますが)その最終的な”陰影付け”を決定するまでに用いる『シェード』、『シェーダ』というものから詳しく書かせていただきます。
また、Blenderで具体的にオブジェクトを用いて設定する方法についても取り扱います。
Blenderでは、基本として“滑らか”な表示と、”カクカク”とした表示の2タイプの『シェーディング』の方法が用意されており、それらの違いやオススメの使い分け、具体的なオブジェクトへの設定・操作方法についても扱います。
私が作りました!(Blenderで)#blender #3dcg pic.twitter.com/iiHRPXUk0z
— ほろほろり (@_horo_horori) December 3, 2019
少しご紹介すると、全体で均一に”滑らか”と”カクカク”表示を切り替える、という使い方だけでも本当に十分表現出来ることも多いのですが、やり方によってはそれを、
部位によって変化させて、”滑らか”と”カクカク”を混在させる
という事も可能です。
2つを上手く組み合わせる事が出来れば、表現の幅が大きく広がりますよね。
そういった事を実現するための具体的な設定・操作方法にも触れつつ、どちらかというと、「知識」に重きを置いて『シェーディング』について書いていきます。
※この記事では、『マテリアル』や『スクリプト』、『法線』、『3Dビューポートの表示』などの内容には触れません。(触れてもそこまで深くや扱いません)。予めご了承ください。
後日追記:『法線』について詳しく記事を書かせていただきましたので、よろしければこちらも併せてご覧ください。
※2020年2月19日 加筆修正を行いました。
目次
『シェード』と『シェーダー』と『シェーディング』について
私自身もこの3つについて混乱したので、自分自身の頭の中の整理も兼ねて書かせていただきます。
先にざっくりとこの3つについて説明いたしますと、下記のようになります。
- 『シェード』…面に対して行う”陰影設定”。
- 『シェーダー』…『シェーディング』を行うための”プログラム”。
- 『シェーディング』…光源、環境、マテリアルなども加味してオブジェクトの”陰影付けを行う事”、またその”技法”やそれまでの”全工程の総称”。
さらに(かなり無理やり)3つの関係についてご説明しますと、下記のようになります。
面の『シェード』の情報を使って、『シェーダー』が行うのが『シェーディング』
これで分かった方は、おそらくBlenderや3D表現について十分詳しい方なので、読み飛ばしちゃって大丈夫なのではないかと思います(むしろ添削お願いしたい笑)
『シェード』とは?
Blenderでの『シェード(shade)』とは、面に対して行う『陰影設定』の事だと思われます。
shadeとは
引用元:shadeの意味・使い方・読み方|Weblio 英和辞典
(光・日光が物体にさえぎられてできる、暗い)陰、日陰、陰、(夕)やみ、薄暗がり、日よけ、ブラインド、(ランプの)かさ、シェード
Blenderに用意されているシェードのタイプは2つあります。
冒頭で話した“滑らか”な表示は『スムーズシェード』で、“カクカク”した表示は『フラットシェード』です。
- スムーズシェード
- フラットシェード
Blender公式マニュアルの「Normals」(英文ページ)というページにある「Flat」、「Smooth」という部分を読んでいくと、 「”smoothing” attribute」という単語が出てきました。
直訳で「“スムージング”属性」となるので、以降、そう呼称させていただきます。
そのあたりを大分ざっくりと要約させていただきますと、下記のようになります。
『スムーズシェード』を選ぶと、その時に選択していた面に“スムージング”属性が付与され、 『フラットシェード』を選ぶと、“スムージング”属性が削除される。
引用元: Normals — Blender Manual
つまり、『スムーズシェード』、『フラットシェード』を選ぶ操作は、実質的に、この“スムージング”属性を付けたり削除したりする操作である、と言えるのだと思います。
そして、この“スムージング”属性も含んだメッシュの情報を読み取った『シェーダー』を使って、『シェーディング』をするのだと思います。
『シェーダー』とは?
『シェーダー』とは、『シェーディング』を行うためのプログラムです。
シェーダとは、3次元コンピュータグラフィックス(3DCG)において、陰影付けや表面の質感や凹凸の設定、各画素の表示色の決定などを行うプログラムのこと。
引用元:シェーダとは – IT用語辞典 e-Words
馴染みがあって、一番良く使う『シェーダー』は、『マテリアル』にある『プリンシプルBSDF』です。
「陰影付けや表面の質感や凹凸の設定、各画素の表示色の決定などを行うプログラム」と言えば、って感じですね。
標準では[プリンシプルBSDF]となっている[サーフェス]から、『マテリアル』に設定できる『シェーダー』一覧を確認できます。
『マテリアル』をより複雑に設定したい場合、ビジュアル的に『マテリアル』の設定ができる『シェーダーエディター』も使えば、更に『シェーダー』による表現の幅を広げることが出来ます。
ちなみに、この『シェーダーエディター』のノードの使い方や繋ぎ方は、下記リンクの動画で学ばせていただきました。
『シェーディング』とは?
『シェーディング』についてですが、「オブジェクトの”陰影付け”に関する事や設定の総称」という捉え方で多分OKです。『シェード』や『シェーダー』のように、特定のプログラムなどのような特定の”何か”と言うより、”カテゴリー”や”事柄”のような扱いが多い気がします。
シェーディングとは、3次元コンピュータグラフィックス(3DCG)の描画処理の最終段階で、光の当たり具合などを勘案して各画素の色を変化させ、陰影付けを行うこと。シェーディング処理を行う演算回路やプログラムをシェーダー(shader)という。
引用元:シェーディングとは – IT用語辞典 e-Words
Blenderで一番良く使うもので、『シェーディング』という名称がついているものは、『3Dビューのシェーディング』ですね。誰でも、比較的触る事の多いボタンだと思います。
- 『ワイヤーフレーム』
- 『ソリッド』
- 『ルック開発』
- 『レンダー』
ちなみに、『3Dビューのシェーディング』は、横のプルダウンメニューから、『シェーディング』に関する更に細かい設定が出来ます。
『スムーズシェーディング』と『フラットシェーディング』について
Blenderで(それ以外でも)基本的な『シェーディング』方法2種類について、Blender以外での3DCGとしての広義の意味も絡めて、改めてご紹介します。
『スムーズシェーディング』とは?
『スムーズシェーディング(smooth shading) 』は、メッシュに滑らかな陰影付けを行います。ローポリゴンで形成されるメッシュでも、比較的滑らかな表現になります。ただし、Blenderで全て『スムーズシェード』に設定してしまうと、線が全体的にぼやけてしまうという欠点があります。
ちなみに、一般的には、『スムーズシェーディング』は「スムーズな表現を実現するシェーディングの“総称”」として扱われる場合が多いようです。『グローシェーディング(外部リンク)』、『フォンシェーディング(外部リンク)』などがこの『スムーズシェーディング』に含まれます。
『フラットシェーディング』とは?
『フラットシェーディング(flat shading)』は、メッシュを平面的で直線的な陰影付けを行います。本来のメッシュを構成する辺や面そのまま、カクカクとした表現になります。もともと直線的なモデルを目指すのであればこちらがオススメですが、例えば、ローポリゴンで構成される”人”や”動物”のモデルなどである場合、露骨にカクカクしすぎると生物っぽさが無くなってしまう可能性があります。
オススメの使い分けは、人や動物などのモデルなら、基本的には『スムーズシェード』を使って、鉱石などの直線的で、硬質さを出したいモデルであれば、『フラットシェード』を使うのが良いかと思います。
ですが、勿論これは絶対ではありません。ご自分の好みや作風などからより”良い”と思う方をお選びください。
全体的にシェーディングを変える方法
さて、やっと基本編に入ります(前置長くてすみません汗)。
全体で均一にシェーディングを変更するのですが、これは簡単です。
[オブジェクトモード]の時に、シェーディングを変更したいメッシュオブジェクトを選択して置き、[マウス右クリック]で出てくる『オブジェクトコンテクストメニュー』の上から2つの項目で、シェードのタイプを変更します。
または、[オブジェクト]のプルダウンメニューからも変更することが出来ます。
どちらで変更するかはお好みでどうぞ。
部位によってシェーディングを変える方法
部位によってシェーディングのタイプを変える方法なのですが、2つ方法があります。
- 面毎に”スムーズ”、”フラット”を変更
- 『自動スムーズ』+『シャープ』
面毎に”スムーズ”、”フラット”を変更
一部の面だけシェーディングタイプを切り替えます。
- 全体:スムーズ、一部:フラット
- 全体:フラット、一部:スムーズ
具体的には、下記の手順で変更できます。
- [オブジェクトモード]にてシェーディングを変更したいメッシュオブジェクトを選択
- [編集モード]へ移り、シェーディングタイプを変えたい面だけ選択
- [シェーディング]タイプを変更したい面を選択
- 面メニュー([Ctrl]+[F])から、”スムーズシェード”or”フラットシェード”を選択
- [オブジェクトモード]へ戻って確認
『自動スムーズ』+『シャープ』
『プロパティエディター』の[自動スムーズ]を有効にして、辺メニュー([Ctrl]+[E])から辺(または頂点)にシャープを付ける事で一部分だけシェーディングを”フラット”にすることができます。
この、『自動スムーズ』と『シャープ』を組み合わせた方法は、以前『シャープ』について取り扱った記事にて、詳しく書かせていただきました。下記リンクの「シャープの付け方」及び「シャープを付けた効果」の項をご覧ください。
参考にさせていただいたサイト・ページ一覧
- shadeの意味・使い方・読み方|Weblio 英和辞典
- シェーダー – Wikipedia
- シェーディング – Wikipedia
- シェーダとは – IT用語辞典 e-Words
- シェーディングとは – IT用語辞典 e-Words
- スムーズシェーディング | CG・映像用語辞典 | CGWORLD.jp
- グローシェーディング – Wikipedia
- フォンシェーディング – Wikipedia
- ワークスペース — Blender Manual