Blenderであそんでみた

3D-CGソフトBlenderの小技や豆知識など。

プリンシプルBSDFで宝石の作り方

f:id:hainarashi:20200902102821j:plain

※記事製作時のバージョン:Blender2.83

 

プリンシプルBSDFで、いろいろな質感表現の方法を探っていくシリーズ。
第5回は宝石のマテリアルの作り方です。

この記事では、ダイヤモンドやルビーなど透明系のものについて説明します。
真珠や翡翠など半・不透明の宝石の作り方は、今回は対象外となります。

 

今回の内容は『ガラスの作り方』の続きとなっています。
未読の方はこちらの記事からお読みください。

hainarashi.hatenablog.com

 

宝石は、ガラスと同じく「光を透過・屈折する質感」です。
まずは伝播を「1」にします。

f:id:hainarashi:20200831134815j:plain

 

ガラスとの質感の違いはIORで表現します。

IOR(屈折率)

「Index of Refraction」の頭文字で、直訳するとズバリ「屈折率」です。
ガラスなどを透かして見ると向こうが歪んで見えるのが「屈折」ですが、その歪みの強さを表します。
1.0 が屈折無し。値が大きくなるほど歪みも大きくなります。

f:id:hainarashi:20220214213520j:plain

IORは実際の物質に基づいた値を設定するのが基本です。
主な透過系の材質のIORは次の通りです。

 

 

この一覧は、使いやすいように数値を簡略化しています。  
あまり厳密な数値にこだわりすぎると扱うのが大変なので、このくらい大まかにまとめた方が実用的です。

 

宝石のカットは同じでも、IORの違いで見た目が変わります。

f:id:hainarashi:20220215212803j:plain

IORを作りたい宝石の値にして、好みのベースカラーを設定すればできあがり。
下の画像はいろいろな宝石の設定例。右下がベースカラーです。

f:id:hainarashi:20220214215435j:plain

 

IORと反射率

現実の物質には「IORが高い物体ほど光を強く反射する(反射率が高い)」という性質があります。
宝石がキラキラ輝くのは、IORが高いためです。
特にダイヤモンドは、最高クラスのIORなので反射率も高く、強く輝きます。

プリンシプルBSDFにはこの仕組みが組み込まれていて、伝播が「1」の場合、IORを設定すると最適な反射率に自動で調整されます。 
「IORは実際の物質に基づいた値を設定するのが基本」というのは、この点でも重要になります。

 

なお、この場合はスペキュラーによる反射率の調整ができなくなります。
スペキュラーについてはこちらの記事を参照してください。

hainarashi.hatenablog.com

 

宝石作りのポイント

レンダーエンジンはCyclesを使う

宝石の中に現れる複雑で美しい模様は、Cyclesでしか描画されません。

f:id:hainarashi:20200901084316j:plain

この模様は、宝石の手前の面と奥の面の屈折が干渉し合って生まれます。
EEVEEはレンダリング高速化のために、奥の面は省略して手前の面だけで屈折処理を行うため、宝石としては残念な結果になります。
 

伝播の粗さで深みを表現する

現実の宝石は物質として均一ではないため、内部で透過光に歪みやボケが生じ、それが色合いの深みに繋がります。
CG的に、透過光に全く歪みやボケの無い画像にすると、作り物臭く、安っぽい見た目になってしまいます。

f:id:hainarashi:20200902181526j:plain

※右の実物の画像 出典:GemPro  1.34 ct Saphir Bleu

 

「伝播の粗さ」を調節して透過光を適度にぼかすと、宝石内部の色合いの深みを表現できます。

f:id:hainarashi:20200903100325j:plain

なお、ダイヤモンドやスワロフスキーなど透明度の高い宝石では、「伝播の粗さ」は「0」にします。

 

「粗さ」で素材のやわらかさを出す

磨き上げられている宝石は、基本的に粗さを「0」にします。
しかし水晶や琥珀のような硬度の低い宝石は、表面の光沢が少しやわらかいものが多いです。
そういう宝石は粗さを少し上げて表面を軽く曇らせると、より本物らしくなります。

f:id:hainarashi:20200903100335j:plain

 

粗さを上げると透過光もぼやけます。
透過光「だけ」をぼかす「伝播の粗さ」とは効果がかぶるので、どちらかを使う場合、もう片方は「0」にします。

f:id:hainarashi:20200903102851j:plain

※真ん中の実物の画像 出典:Gem Rock Auctions
 Briolette Cut Gemstones - What Are They? | Gem Rock Auctions

 

環境テクスチャを使う

ワールドの背景が単色の場合、透過光と反射光が均一すぎて、宝石らしさがうまく表現されません。
背景に「環境テクスチャ」を設定すると、透過光と反射光に変化がついて、宝石らしい立体感と透明感が出せます。

f:id:hainarashi:20220214233151j:plain

 

テクスチャで色変化をつける

ベースカラーにテクスチャを繋ぐことで、様々な色変化を表現できます。

f:id:hainarashi:20200901154121j:plain

 

こちらは琥珀風の模様。

f:id:hainarashi:20200901154115j:plain

ただし、これは静止画でのみ有効です。
実際の宝石の模様は内部構造のムラに由来するので、見る角度を変えると奥行きのある変化をします(煙や雲を別の向きから見る時のように)。
しかしテクスチャでの表現はサーフェス(物体表面)の模様となるため、見る角度を変えても、そういう奥行きのある変化はしません。
宝石を回転させるなどで動かすと不自然さが目立つので、アニメーションでは使わない方が良いと思います。

 

手っ取り早く宝石モデルを楽しむには

Blenderには標準で

  • Brilliant Diamond
  • Diamond
  • Gem

の三種類の宝石モデルが用意されています。
(正直、DiamondとGemは、宝石のカットとしては謎な形ですが…)

f:id:hainarashi:20200904174511j:plain

これらは標準アドオンの「AddMesh Extra Object」を有効にすると使えるようになります。

アドオンを有効にする手順

編集(Edit) > Preferences > アドオン(Add-ons) > 追加メッシュ(Add Mesh) > AddMesh Extra Object

f:id:hainarashi:20200904175230j:plain


アドオン有効後は、メッシュ追加メニューの中に「Diamonds」が追加されます。

f:id:hainarashi:20200904175438j:plain

 

 

以上、宝石の作り方でした。

 

※添削・構成アドバイス:相方

 

twitter

灰ならし (@hainarashi) | Twitter

 

もっといろいろな宝石モデルを楽しむには

宣伝です。
今回使用した宝石の3DモデルをBOOTHで販売しています。

hainarashi.booth.pm

 

改訂履歴

2022年2月14日

  • 反射率の設定に関する説明を修正。
  • スペキュラーの説明を削除。
  • 環境テクスチャの説明を追加。