今回はマテリアルを使って、キャラの服に色をつけるのを例に、マテリアルの使い方を紹介していきたいと思います。
また、モデルはこのようになっております。
ここにマテリアルで色をつけていきます。
マテリアル(Material)について
Materialは、材料や素材などの意味を表す英単語です。
Blenderでいうマテリアルはその意味の通り、そのオブジェクトの質感を設定できる機能です。
マテリアルにはBlenderレンダー用とCyclesレンダー用があります。
Cyclesレンダー用のマテリアルの方が機能が豊富ですが、作った3DモデルをBlender以外から使うことができません。
BlenderレンダーとCyclesレンダー
まず、Blenderのレンダリングには2種類あります。
「Blenderレンダー」と「Cyclesレンダー」です。
Blenderレンダーに比べ、Cyclesレンダーは機能が豊富でよりリアルな質感を出すことができますが、Blender以外から読み込むことができません。
例えば、作ったモデルをthree.jsやA-Frameで動かすとか、Unityで操作させるといったことがしたい場合は、Blenderレンダーを使うことになります。
また、Cyclesレンダーは、Blenderレンダーに比べてとても重たくなります。
デフォルトは「Blederレンダー」になっています。
Blenderレンダー用マテリアルの使い方
では実際に服にマテリアルを当て、質感を表現してみましょう。
まず、Blenderレンダー用マテリアルの使い方を紹介します。
Blenderレンダーになっているかどうかは、上部分の情報バーに「Blenderレンダー」と書かれていればOKです。
もしも違ったら、クリックしてBlenderレンダーに変更してください。
マテリアルを当てたいオブジェクトを選択します。
今回は服の設定をしたいので、服のオブジェクトを選択しました。
すると、次のようになります。
この画面から、マテリアルの設定を行っていきます。
マテリアル名
まず分かりやすいように名前を変更しておきましょう。
上部の「マテリアル」と書かれた部分をダブルクリックし、マテリアル名を入力します。
マテリアル名はなんでもいいのですが、それが何のマテリアルなのか一目で分かるように「huku」、「clothes」などにしておきます。
マテリアルの種類
その下にはマテリアルの種類を選ぶ項目があります。
初期設定のままの「サーフェス」にします。
プレビュー
その下のプレビューは、球が一番見やすいので、私は球にしています。
ディフューズ
その下には「ディフューズ」という項目があります。
ディフューズと言われてもいまいちピンときませんが、ディフューズとは「拡散反射光」と言われるものです。
「拡散して反射する光」ということですが、ここで詳しいことを書いても混乱するので、単純に「物体の色」と考えればいいと思います。
ジェーダーを選ぶことができます。
作りたい物にもよりますが、リアルなものを作りたいならば「ランバート」もしくは「オーレンネイヤー」がいいと思います。
アニメチックなものにしたければ「トゥーン」を選びましょう。
「ミンナート」は暗くなってしまうし、「フレネル」は水面の反射などですので、制服には合わないと思うので、ここではこの2つは割愛します。
「ランバート」と「オーレンネイヤー」の違いですが、オーレンネイヤーはランバートに対して、表面が粗い素材に向いており、強度の他に「粗さ」を設定できるようになります。
以下はそれぞれのジェーダーのサンプルです。
設定は見た目が分かりやすいように設定しています。(分かりやすいように肌に色をつけています)
スペキュラー
ディフューズで「ランバート」か「オーレンネイヤー」を選んだ場合は、「フォン」または「ブリン」にするのがいいように思います。
「トゥーン」の場合は揃えて「トゥーン」を選びます。
「異方性ウォード」、「クックトランス」はもっと硬い素材に使います。
また、「オーレンネイヤー」と「ブリン」は併用されることが多いようです。
「フォン」を選んだ場合、「強度」、「硬さ」を設定できるようになります。
「ブリン」を選んだ場合、「強度」、「硬さ」の他に「IOR」を設定できるようになります。
IORというのは屈折率のことです。
それぞれの物質には屈折率が決まっており、本来であればその物質に合わせた屈折率にします。
制服の場合、繊維になります。繊維の屈折率はだいたい1.5ぐらいだそうです。素材によって若干変わりますが、1.5から若干調節して、見た目で判断すればいいかと思います。
屈折率って何と言われても、私も詳しいことはよく分からないので、それらしく見えるようにします。
シェーディング
シェーディングでは「放射」、「周囲」、「透光性」などを設定できます。
「放射」は、物質が放つ光の量ですので、制服には必要ないと思います。
「周囲」は、マテリアルが周囲から受ける色の影響です。とりあえずデフォルトの1にしました。
「透光性」は、どの程度光を通すかですが、透明にはなりません。制服(夏服)のような薄い材質は多少光を通すと思うので、多少上げておいてもいいかもしれません。
透過
夏服のような薄い材質の服は、光の当たり具合や汗によって肌が透けたりするので、それを表現するのに使えます。
「Z値透過」もしくは「レイトレース」を選びます。
「レイトレース」を選ぶと、屈折率なども設定できるようになります。
これは私が勝手にやっていることで、一般的にはどうなのか分かりませんが、透けているか透けていないか分からないぐらいに透かすと、身体のラインが服に薄っすらと浮き出て、薄い生地の質感を出すことができます。
また、視点から斜めの場所は光が反射して透けず、視点から直角の場合に透けやすい気がします。
そんな時に使えるのがフレネルです。
フレネルの値を0.8に、ブレンドの値を1.65にするとこのようになります。
視点から垂直の場所のみ肌が透けて見え、斜めの場所は光が反射して透けないという表現ができていると思います。(分かりやすいようにちょっと大袈裟に透かしています)
その他
「ミラー」「SSS」「ストランド」「オプション」「影」については、今回は省略します。
最終調節
以上を踏まえて、Blenderレンダー用マテリアルで実際に調節してみました。
光の当て方でも色が変わってきますので、ランプも調節しました。(ランプの調節の解説は、今回は割愛します)
Cyclesレンダー用マテリアルの使い方
では、Cyclesレンダーの使い方を紹介します。
まず、上部の情報バーの「Blenderレンダー」となっている部分を「Cyclesレンダー」に変更します。
すると、このような表示になります。
Blenderレンダーの時と、ちょっと違っていますね。
今現在、制服には白色が選択されていますが、実際にレンダーに切り替えて見てみると、とても暗く灰色のように見えてしまいます。
そこで平面オブジェクトを作り、それをランプにするという方法で明るくしてみようと思います。
ランプ用のオブジェクトを作る
ランプ用のオブジェクトを作ります。
Shift + Aで、平面のオブジェクトを作ってください。
作成した平面を、下の画像のようにキャラに面を向けるように配置します。
この平面を右クリックで選択し、マテリアルから「新規」をクリックします。
レンダーに切り替えて、「強さ」を調節します。
自分の好きな明るさになるように調節してください。
光が欲しいだけで平面自体は必要ないので、平面を非表示にします。
平面のオブジェクトを選択したまま、プロパティのオブジェクト(立方体のマークの部分)を選択し、カメラのチェックを外します。
すると、平面のオブジェクトは非表示となり、光だけが女の子に当たっている状態になります。
ノードエディターでマテリアルの設定
画面全体の左下にあるエディタータイプを「ノードエディター」に切り替えます。
すると画面がこのように切り替わります。
最初は少し見にくいかもしれませんが、慣れると直感的にマテリアルの設定が分かるようになります。
もし作っている女の子を同時に見たい場合は、画面を分割しても便利です。
メインのウィンドウ右上の、下の画像の部分を左にドラッグすると画面の分割が可能です。
制服の白はこのままでも全然いい気もしますが、やっぱり薄い生地の質感が欲しいので、「透過BSDF」と「ミックスジェーダー」を使って、服を透過してみましょう。
ノードエディターで、Shift + Aを押し、「ジェーダー」から「ミックスジェーダー」を追加します。
さらにもう一度Shift + Aを押し、「ジェーダー」から今度は「透過BSDF」を追加します。
それぞれを以下のように繋ぎ直すと、服の透け感を表現できます。
フレネルも試してみたのですが、いまいち思うような表現ができず……。今回はこれでご勘弁ください。
こんな風になります。(分かりやすいように肌に色をつけています)
先ほどのように、服の色を少し青の強いグレーに変更してみます。
まとめ
マテリアルの設定項目は沢山あり紹介しきれなかった部分もありますが、制服のマテリアル設定は私は今回のように行いました。
今回の設定は私のオリジナルなので、これが正しいのかどうか正直なところ分かりませんし、もしかするともっといい表現方法があるかもしれません。
この辺は私が3Dを描く上で一番難しいと感じるところで、どうすればその素材の質感に近づけることができるのか、日々模索してもなかなか答えがでてきません。
やはり楽しみながら作るのが一番ですが、それぞれのパラメータがどのようなものなのかを一応理解していないと楽しむこともできないので、しっかりと覚えて作っていきましょう。
そんなわけで、BlenderレンダーとCyclesレンダー、それぞれのマテリアルの設定方法でした。