- 庭園灯(ボラード)のモデリング
- 点光源/スポットライトは面光源に置き換える
今回は「照明器具を作る」で説明できていなかった街灯について改めてモデリングしていきます。
ここでは、公園とその周辺の家をラフな状態でモデリングし、街灯を立てていくのを目標にします。
今までのチュートリアルでは小物の形状や家といったモデリングでしたが、今回は小範囲の街並みが対象になります。
また、今回はマテリアルとして「Shade3Dマテリアル」と「PBRマテリアル」を比較してみます。
街灯の種類
高さのある「ポールライト」として、2つを題材にすることにしました。
家の周囲や庭、公園の花壇/茂みなどにある少し高さのある野外照明は「庭園灯(ボラード)」と呼ばれ、0.3m~1mほどの高さになります。
周囲を暗くして、庭園灯を点灯させた場合は以下のようになりました。
一方、道路や公園の街灯は3.5m ~ 5mほどでそれ以上の高さのものもあります。
今回の「街灯を作る」でのモデリング対象は、この2つの照明器具になります。
庭園灯(ボラード)をモデリング
以下のような円柱のサイズにしました。
高さ500(mm)、半径30(mm)の円柱としています。
上部は途中で分離してガラスの表面材質で覆いました。
中央に球を配置し、これを電球としています。
円柱のポリゴンメッシュを配置し、本体とガラス部に分離
高さ500(mm)、半径30(mm)のポリゴンメッシュの円柱を配置します。
「分割数 U」を16、「分割数 V」を4としました。
正面図で「ループスライス」を使って、円柱の上部を分割します。
面選択モードで、分割した稜線の間の面を選択。
ツールボックスの「編集」-「メッシュ」-「編集」-「分離/複製」-「別形状として分離」を選択して、選択された面を別のポリゴンメッシュに分離します。
ブラウザ上でこの2つのポリゴンメッシュを「庭園灯」「ガラス」と名前変更しました。
ガラス内部を作成
ガラス内部のモデリングをしていきます。
ブラウザでいったん「ガラス」形状を非表示にします。
透視図で拡大すると上下に穴が開いているため、
形状編集モード+頂点選択モードで穴部分の頂点を選択し、
ツールボックスの「編集」-「メッシュ」-「編集」-「面を張る」で面を張ります。
上の穴も同様に「面を張る」を使って面を張ります。
「庭園灯」のポリゴンメッシュの上部をエッジベベルで面取りします。
形状編集モード+頂点選択モードで一番上の頂点を範囲選択して、稜線選択モードに移行。
ツールボックスの「編集」-「メッシュ」-「編集」-「ベベル」を選択し、
ツールパラメータの「サイズ」を3(mm)、「分割数」を0にしました。
電球のソケット部をポリゴンメッシュの円柱で配置しました。
26口金の電球が入るくらいのサイズで、30(mm)の直径としました。
ブラウザで「庭園灯」とソケットのポリゴンメッシュを選択し、
ツールボックスの「編集」-「メッシュ」-「結合/除去」-「オブジェクトの結合」で1つにまとめます。
名前を「庭園灯」と変更しました。
ソケット部は目立たないため、本体と同じ表面材質を与えることにしました。
電球を作成
半径20(mm)の球を電球としました。
ブラウザで形状名を「電球」としました。
これでモデリングは完了です。
ブラウザで非表示にしていた「ガラス」のポリゴンメッシュを表示します。
マテリアルの指定
この3つのポリゴンメッシュに対して、それぞれマスターマテリアル(マスターサーフェス)
として、表面材質指定していきます。
今回は、「Shade3Dマテリアル」(ver.19までの従来の表面材質指定)と「PBRマテリアル」で比較してみます。
テクスチャは使用しません。
※ 「PBRマテリアル」はShade3D Professional ver.20以降が必要です。
どちらか一方のマテリアルの種類を割り当てることになります。
手間を省く場合は「PBRマテリアル」のほうが手軽かと思います。
Shade3Dマテリアル : 庭園灯_本体
拡散反射 0.02、反射 0.03、荒さ 0.3を与えました。
黒に近い色でわずかに反射があるマテリアル指定です。
Shade3Dマテリアル : 庭園灯_ガラス
拡散反射 0.6、光沢1 0.32、反射 0.1、透明 0.3、屈折 1.0、荒さ 0.7を与えました。
白く濁った半透明にするため、透明を0.3としています。
また、Shade3Dマテリアル時は反射や透明を使用した場合、拡散反射を暗くする必要があります。
拡散反射はスライダで0.6を指定しました。
ガラスの場合はこのような形状では二重にする必要があるのですが(薄膜がある状態)、レンダリング速度の低下を防ぐために厚みがないものとしています。
屈折率を1.5ほど(ガラスの屈折率)から、厚み無しとして屈折率 1.0を指定しました。
ガラスが二重の状態は、以下のような考え方です。
薄膜内部で屈折が起きるのですが、薄いため屈折はわずかに影響する程度になります。
レイトレーシングでレンダリングする際に、二重のガラスにしている場合、最大4回の交差が発生します。
さらに内部に電球を置くと最大8回の交差になります。
それだけレンダリング負荷がかかることになります。
もし、ガラスが一重の状態で屈折率が存在する場合は、水晶玉のように中身が詰まった状態になります。
Shade3Dマテリアル : 庭園灯_電球
拡散反射 0.5、透明 0.5、屈折 1.0、荒さ 0.2を与えました。
ガラス部と同様に、電球も屈折を1.0としています。
Shade3Dマテリアル : レンダリング
これで「Shade3Dマテリアル」の表面材質が割り当てられたため、
光源として面光源を配置し、無限遠光源の明るさを0にしてパストレーシングで大域照明使用でレンダリングします。
面光源は以下のように与えました。
また、地面の位置に円の形状を配置しました。
※ 表面材質で「荒さ」を使用しているため、パストレーシングでレンダリングする必要があります。
レンダリングすると以下のようになりました。
PBRマテリアル : 庭園灯_本体
今度は、PBRマテリアルを与えます。
こちらを使用するほうが直感的にマテリアル調整できるかと思われます。
ベースカラー RGB(10, 10, 10)、ラフネス 0.3を与えました。
PBRマテリアル : 庭園灯_ガラス
ベースカラー RGB(230, 230, 230)(初期設定)、屈折率 1.0、透明度 0.3を与えました。
Shade3Dマテリアルと違い、ベースカラーと透明度の明暗を反転させる必要はなくなるため、指定はシンプルです。
一重のガラスのため、「屈折率 1.0」とする点のみ注意する必要があります。
PBRマテリアル : 庭園灯_電球
ベースカラー RGB(230, 230, 230)(初期設定)、屈折率 1.0、透明度 0.5を与えました。
PBRマテリアル : レンダリング
これで「PBRマテリアル」の表面材質が割り当てられたため、
光源として面光源を配置しているのを確認し、無限遠光源の明るさを0にしてパストレーシングで大域照明使用でレンダリングします。
以下のようになりました。
「Shade3Dマテリアル」と「PBRマテリアル」は同じではないのですが、「PBRマテリアル」のほうがより現実に近くすることができ、
調整も容易になります。
暗いシーンで、庭園灯を点灯する
このマテリアルの指定のまま、面光源を削除して電球を点灯させます。
まずは、点光源を電球の中心に配置します。
※ この場合は現実とは異なる影の落ち方になります。
レンダリングすると以下のようになります。
ガラスと電球の影を無効にする
「庭園灯_ガラス」と「庭園灯_電球」のマテリアルで、影を表示させないようにします。
表面材質の「その他」ボタンを押し、「影を落とさない」「影を表示しない」チェックボックスをオンにします。
これはPBRマテリアルの指定ですが、Shade3Dマテリアルでも同じパラメータがあります。
「庭園灯_ガラス」と「庭園灯_電球」の両方で同じ処理を行います。
レンダリングすると以下のようになります。
電球とガラス部でさえぎられなくなったため、外に出る光が明るくなりました。
ただし、影が現実の場合と異なります。
これは、電球からの光を点光源で配置しているのが原因です。
面を持った光源に置き換えないと正しくなりません。
現実の世界では、面積を持たない光源というのは存在しないです。
点光源やスポットライトを使用した場合にいかにも3DCG的な結果になってしまうという場合、光源を面光源に置き換えることでより現実に近づきます。
その代わり、複数の面光源を配置した場合は点光源1つよりも、よりレンダリング時間を消費することになります。
電球を面光源の集まりに変換する
電球を「閉じた線形状」の集まりに変換し、さらに面光源に変換します。
ブラウザで電球形状を選択し、ツールパラメータで「ポリゴンメッシュに変換」ボタンを押します。
「曲面の分割」は「粗い」にします。
これは面数を抑えるためです。
ポリゴンメッシュとしての「電球」をブラウザで選択した状態で、ツールパラメータで「線形状に変換」ボタンを押します。
これでポリゴンメッシュの面が、32個の「閉じた線形状」に変換されます。
「閉じた線形状」32個分をブラウザで選択し(親の「電球」パートではなく「閉じた線形状」を選択してください)、
形状情報ウィンドウで「明るさ」を200、「可視」チェックボックスをオンにします。
これで「閉じた線形状」が面光源になります。
配置していた点光源を削除し、レンダリングします。
これで、地面に落ちる影が現実に近づき、薄っすらとグラデーションがかかるようになりました。
今回はここでいったん区切ります。
次回、公園を中心としたラフな家や木をモデリングし、レンダリングするための舞台を作っていく予定です。