Skip to content

R16 マテリアル基礎02- 反射

R16 マテリアル基礎

レベル/ 対象者:基礎/CINEMA 4Dを少し使える人。
対象ソフトウエア、プラグイン:CINEMA 4D R16
冨士 俊雄/ gtofuji@gmail.com
章番号 題名 内容、及び関連する章 作成日/注記
026 2_反射 2015.5.8

 

Step 1

はじめに

 鏡面反射は、R16で大きく変わりました。

まず、R15までの「鏡面反射」と「スペキュラ」チャンネルが消滅し、代わりに「反射」チャンネルが新設されました。この反射チャンネルの内部はレイヤシェーダと同じ作りになっていて、これが非常に作業性を損ねています。大きな問題点は以下の二つです。

1. 鏡面反射やスペキュラを作るのに手間がかかる。

R15までは、鏡面反射とスペキュラにはプリセットがあり、チャンネルを選択するだけで使えました。しかしR16には何もないので、毎回シェーダを作るところから始めなければなりません。

2. 反射チャンネルを複数選択、編集できない。

反射チャンネルの内部はマテリアルごとに違っているので、複数選択、編集ができません。

これらの問題は、いずれ改善されていくと思うのですが、それまでのつなぎとして以下のような対策を考えました。

1. よく使う鏡面反射やスペキュラをプリセットとして登録しておく。

2. 反射チャンネルの「全ての鏡面反射の明るさ」と「全てのスペキュラの明るさ」を複数選択、編集するためのXPressoを使う。

図026-1

サンプル026a

 

Step 2

拡散、鏡面反射

  「鏡面反射」もマテリアルの基本的な性質の一つで、「規則的に反射される光」を表現します。

その規則とは、「入射角と反射角が等しい」ということで、要は鏡の性質です。

鏡面反射は、金属やガラス、プラスチック、液体など、表面がツルツルのマテリアルには必ず発生します。 また、鏡面反射には以下のようなオプションを設定できます。

1. 反射される光の方向をランダムにする。

これは「表面粗さ」で変更します。

原理的に、鏡面反射を粗くしていくと、GIを適用したカラーチャンネルと同じになります。ただし、計算方法が違うので、計算が重く砂目状のノイズが発生します。

したがって、この機能は表面が「ちょっと粗い」金属やプラスチック、塗装面等を表現する場合に使ってください。

図026-2a、b

サンプル026b

左は表面粗さが0(フレーム1)のマテリアル。右は表面粗さが50(フレーム2)のマテリアル。

 

2. 入射角に応じて反射率を変える。

これは「フレネル」で変更します。

フレネルは、光の入射角によって反射率が変わる現象で、同時にその性質を発見した人物の名前です。

現実世界のマテリアルは全てフレネルの性質を持っていて、「正面から見るよりも、斜めから見た方が反射率は大きく」なります。

金属や木材等ではほとんどわかりませんが、透明なガラスやプラスチック、フィルムではフレネルが非常に重要になります。この性質に注意してください。

R15まで、フレネルはフレネルシェーダを使ってマニュアルで調整していましたが、R16では多くのプリセットが入っているので、ほとんどの場合ここから選択するだけで十分です。

図026-3a、b

左はフレネルなしのマテリアル(フレーム5)。右はフレネルありのマテリアル(フレーム6)。

また、フレネルには多くの金属のプリセットも入っています。

金属の場合、色を含めて反射率が変化するので、マニュアルで調整するのは大変なのですが、プリセットを使えば簡単にリアルなマテリアルを表現できます。

図026-4a、b

左はフレネルが金のマテリアル(フレーム9)。右はフレネルが銅のマテリアル(フレーム10)。

 

3. 反射角の方向のランダムさを、さらに縦方向(U方向)と横方向( V方向)で変える。

これは「異方性」モデルを使って表現します。

異方性は、マテリアルが持っている細かい繊維や傷が原因で発生します。場合によっては、結晶構造や髪の毛の束、木目のような構造で発生する場合もあり、現実世界でもよく見られます。

特に、建築やプロダクトの世界では意図的に傷をつけて異方性を持たせた材料を使うことが多く(これをヘアライン仕上げといいます)、このようなマテリアルを表現する場合に使います。

図026-5

フレーム7

 

4. 各設定をテクスチャでコントロールする。

R15まで、バンプやアルファはマテリアル全体に一つしか適用できませんでしたが、R16の反射チャンネルでは反射レイヤや内部の設定(性質)ごとにテクスチャでコントロールできるようになっています。

図026-6a、b

左は表面粗さにストライプ状のテクスチャを適用したマテリアル(フレーム3)。

右は鏡面反射レイヤそのものにマスクテクスチャを適用し、金色の鏡面反射レイヤに重ねたマテリアル(フレーム4)。

 

 

 

Step 3

反射、スペキュラ

 スペキュラも、R16で大きく変わりました。詳細については、前の鏡面反射を参照してください。

 

「スペキュラ」チャンネルは、実はマテリアルの基本的な性質ではありません。

「カラー」、「鏡面反射」、「スペキュラ」は、全て「反射される光」であり本質的には同じです。

カラーと鏡面反射の違いは、反射される方向が「ランダムか規則的か」ですが、これも表面粗さを大きくすると同じになってしまいます。

また、鏡面反射とスペキュラは両方とも規則的に反射される光です。

それでは何が違うのかというと、鏡面反射は全ての光を反射するのに対して、スペキュラはライトからの光しか反射しません。つまり、鏡面反射はスペキュラの機能を含んでいるのです。

これは、カラーがライトの光しか反射しないのとよく似ています。ただし、カラーはGIを適用することでライト以外の光も反射するようになります。

しかし、スペキュラにライト以外の光を反射させる方法はありません。

スペキュラという機能が生まれたのは、30年以上も前の話で、当時はコンピューターの速度が遅く、GIはおろか鏡面反射さえ満足に計算できませんでした。

その当時の技術で、少しでもマテリアルをリアルに見せるための方便としてスペキュラが開発されたのです。

したがって、鏡面反射やGIを普通に使えるようになった現在、スペキュラの存在意義はかなり薄れているといえます。

実際、ほとんどのシーンはスペキュラなしで作れますし、「規則的に光を反射する」という本来の目的でスペキュラを使うことはまずありません。

したがって、CINEMA 4Dを始めたばかりの人は「スペキュラを無視」して構いません。その代わり、鏡面反射をしっかり設定してください。

現在のスペキュラは、本来の目的から離れて「異方性」、「布」、「髪の毛(これはヘアマテリアルの中で使います)」等の「特殊効果」を表現するために使います。

 

まず、「スペキュラのみ」のマテリアルと「鏡面反射のみ」のマテリアルを比較すると、スペキュラのみのマテリアルにはその他のオブジェクトが、鏡面反射のみのマテリアルにはライトが映り込んでいないことがわかります。

図026-7a、b

左はスペキュラのみのマテリアル(フレーム21)。右は鏡面反射のみのマテリアル(フレーム22)。

これは、30年前の流儀が現在もデフォルトとして残っているからです。ライトは光を放射するにもかかわらず、カメラからも鏡面反射からも見えなくなっていて、ただスペキュラだけに反応します。

この問題は、ライトに可視光線を適用したり、ライトの位置に発光するマテリアルを置くことで簡単に解決できます。

こうすると、鏡面反射のみのマテリアルにもライトが写り込むので、もうスペキュラは要りません。

図026-8a、b

左はスペキュラのみのマテリアル(フレーム21)。右は鏡面反射のみのマテリアル(フレーム24)。

 

ところが、異方性などの特殊効果を使うと話が違ってきます。

異方性を計算するために鏡面反射に表面粗さをかけると、現在のコンピューターでも計算がかなり重くなります。

また、ライトの位置に非常に明るく発光するマテリアルを置いて、グラデーションを調整する必要があり、これはシーンに存在するマテリアル全てに影響します。

また、強い光がマテリアル内部に入った時に生じる回折や干渉(猫目石や真珠などのマテリアルで生じる)現象は単純な鏡面反射では再現できません。

このような特殊な状況では、スペキュラを併用した方が設定が楽で、計算が速く、きれいな絵ができます。

ただし、あくまでもメインは鏡面反射で、スペキュラは補助です。つまり、鏡面反射だけで最低限の絵ができるように設定し、足りない部分をスペキュラで補うわけです。

鏡面反射の設定が足りなかったり(ライトが鏡面反射しない等)、不正確であれば(フレネルがかかっていない等)、スペキュラをどう変えてもリアルな絵はできません。

図026-9a、b

左はスペキュラを含むマテリアル(フレーム7)。右は鏡面反射のみのマテリアル(フレーム25)。

スペキュラを細かくコントロールすると、布のような規則的な構造を持ったマテリアルや、メタリック塗装のように何層にも重なったマテリアルをリアルに表現できます。

図026-10a、b

左は布のマテリアル(フレーム27)。右はメタリック塗装のマテリアル(フレーム28)。

 

 

Read more from マテリアル基礎

Comments are closed.