電柱、街灯のモデリング

  • 表面材質のマッピングで「マット」を使ってタイリングを目立たなくする(Shade3Dマテリアル)
  • 電柱、電線のモデリング
  • 街灯のモデリング
  • 外部参照を使って、昼のシーンを夜に変える
  • 照度調節」によるシーン全体の光源の明るさの調整

前回の続きです。
公園の広場のテクスチャは、タイリングを行って繰り返しが目立つようになっていたためこれを調整します。
そして、電柱や街灯を配置してシーンとして完成させていきます。

表面材質のマッピングで「マット」を使ってタイリングを目立たなくする

公園の広場のみをレンダリングすると、以下のようになっています。

背景として、街並みのHDRIを指定しています。
この広場の土のテクスチャの繰り返しが目立っています。
この広場の土模様は以下のようなテクスチャを使用しています。

このマッピングに不規則性を加えるため「マット」を使用することにしました。
「マット」は「Shade3Dマテリアル」で使用できます。PBRマテリアル時は使用できません。

マットは複数のテクスチャを合成する機能です。
素材として2つの土模様のテクスチャを追加します。
共に上下左右に連結してもつながるように、タイリング加工されたテクスチャです。

なお、ここでは拡散反射マッピングのタイリングの調整を行います。
もう少し土模様を細かくするため、拡散反射のマッピングは以下のように反復を18 x 18に変更しました。

この「イメージ/拡散反射」マッピングレイヤの次に「スポット/マット」を追加します。

スポットでグレイスケールの濃淡をマッピングします。これは、さらに次のレイヤと合成するためのマスクになります。
「位置&サイズ」タブでマッピング時のサイズを変更/確認します。
これは、マッピングのスライダを動かしたときに表示されるワイヤーフレームで調整します。

マットの次のレイヤとして「イメージ/拡散反射」を追加し、別の土模様を割り当てます。
このときの反復を15 x 15としました。
1つめのマッピングとは異なる反復数(複数のマッピングでの反復数は互いに割り切れない数)を指定します。
また、合成は「通常」にします。

レンダリングすると以下のようになりました。

タイリングが目立たなくなり、不規則になりました。
ここまでの拡散反射のマッピングは以下のような指定になります。

マッピングの種類 合成 反復 適用率
イメージ/拡散反射 乗算 18 x 18 1.0
スポット/マット 通常 1.0
イメージ/拡散反射 通常 15 x 15 1.0

さらに、以下のように「スポット/マット」と「イメージ/拡散反射」を追加します。
スポットはサイズを変更します。

拡散反射は別のテクスチャイメージを指定しています。
反復を19 x 19、合成は「通常」、適用率を0.7としました。

レンダリングすると以下のようになりました。

拡散反射のマッピングは以下のような指定になります。

マッピングの種類 合成 反復 適用率
イメージ/拡散反射 乗算 18 x 18 1.0
スポット/マット 通常 1.0
イメージ/拡散反射 通常 15 x 15 1.0
スポット/マット 通常 1.0
イメージ/拡散反射 通常 19 x 19 0.7

公園のシーンにこの土のマテリアルを反映すると以下のようになりました。

同様に、広場の土の上にわずかに浮かせて配置していた土の板もマットで調整します。


真上から見下ろしたレンダリングでは以下のようになりました。
なお、テクスチャの外に行くにつれて透明になるように「不透明マスク」をマッピングに指定しています。

最終的に、公園の広場の土は以下のようになりました。

よりタイリングを目立たないようにするには、土の写真を撮影する段階でもう少し広範囲に解像度を上げて撮影するのがよいのかもしれません。

電柱をモデリング

電柱と電線は別のシーンで新たにモデリングして、公園のシーンにインポートします。
電柱は半径150(mm)、高さ6000(mm)としました。

遠方の形状のため、単純化したモデリングとしました。
電柱はポリゴンメッシュの円柱で作成しています。
横に伸びる部分をポリゴンメッシュの直方体で作成、変圧器を円柱のポリゴンから編集して形を作ってます。
単純な形状で構成されています。



反射板にはテクスチャを指定しています。

変圧器は以下のようにモデリングしました。

反射板は電柱の半径(150 mm)よりもわずかに半径が大きいポリゴンメッシュの円柱を配置し、上面/底面を削除しました。

この円柱の側面に対して以下のテクスチャをマッピングしています。

番号札は、反射板のポリゴンメッシュの2面を選択し、ツールボックスの「編集」-「メッシュ」-「編集」-「分離/複製」-「別形状として複製」で2面のポリゴンメッシュにして、
高さ方向に縮小しました。

テクスチャは割り当てず、白色のマテリアルを指定しています。

これを「電柱.shd」としてファイル保存します。
この電柱を加工し、電柱が直角に交差するときの「電柱2.shd」を保存。

反射板と番号札のない「電柱3.shd」を保存。

この3つの電柱を使用することにします。
電柱に対して電線は以下のように張られることになります。

地面の灰色の面が道路側になります。

電柱を公園の周辺の道路に配置

公園のシーンを開き、モデリングした電柱を外部参照としてインポートします。
上面図で道路の端に電柱を並べていきます。
白いワイヤーフレームが電柱になります。

公園の横断歩道付近をレンダリングすると、以下のようになりました。

今回は公園の前からのレンダリングを行うようにします。
そのため公園の前以外は電柱を配置していませんが、街全体で電柱や電線を這わすのも面白いかもしれません。

電線の配置

電線は線形状で配置して、「掃引_円」を使ってパイプ状にします。

電線に沿って「開いた線形状」を配置します。
このときに、コントロールポイントを電柱ごとに追加していくようにしました。

電線間の中間にコントロールポイントを増やし、-Y方向に少しずらしてたゆませる感じにします。

この「開いた線形状」を複製し、上面図で見て2本が並ぶようにしました。

この処理をすべての電柱に対して行います。
電線は以下のようになりました。白色のワイヤーフレームが電線です。

電線に太さを与える


このままではレンダリングに線形状が反映されないため、
「開いた線形状」に対して「掃引_円」を使って太さを付けます。
「開いた線形状」をブラウザで選択し、ツールボックスの「作成」-「プラグイン」-「掃引_円」を選択します。
「掃引_円」ウィンドウでOKボタンを押し、10(mm)の半径のパイプ形状を作成します。

これで「開いた線形状」の数だけ自由曲面が生成されます。直径20(mm)の電線となります。
この電線形状に対して、マスターマテリアルとして「PBRマテリアル」を割り当てました。
暗めの灰色で、ラフネスを0.4としています。

レンダリングすると以下のようになりました。

街灯のモデリング

街灯は電柱に付けるパターンもありますが、ここでは別途街灯の形状を作成し、公園のシーンにインポートします。
また、以前モデリングした「庭園灯(ボラード)」を公園の周囲に配置します。

庭園灯(ボラード)

庭園灯(ボラード)は、以下のようなモデリングでした。
500(mm)の高さです。

この形状のファイル名を「庭園灯(ボラード).shd」としました。

公園内の街灯

公園内の街灯は3000(mm)の高さとしました。

ポール部は「開いた線形状」で輪郭を作成し、回転体で立体化しています。

底は高さ5(mm)で円の掃引体を置いています。

この底は、回転体を配置時に含めてしまってもいいかもしれません。
電球周りは「玄関のポーチライトをモデリング」のときとモデリング手順は同じです。
以下のように直方体のポリゴンメッシュを配置します。

上下の面は不要なため選択して削除します。

すべての面を選択し面ベベルで内側に面を作り、マニピュレータを使って枠部分が縦横同じ幅になるように調整します。

ループスライスを使って正面図で面を分割します。
ループスライスで作成された稜線のY値が異なっています。
頂点選択モードに移行し正面図でマニピュレータを使って高さ(Y)方向に縮小し、ツールパラメータでYの拡大縮小値を0にします。

下側の頂点を正面図で選択し、マニピュレータを使ってXZ方向に縮小します。

端以外の面を選択し、ツールボックスの「編集」-「メッシュ」-「編集」-「分離/複製」より「別形状として分離」を選択します。
分離された面は後々ガラスとして使用するため、残しておきます。

枠のポリゴンメッシュを選択し、10(mm)の厚みを付けました。

ガラス部のポリゴンメッシュを選択し、マニピュレータを使って拡大縮小してXZ方向に0.95倍して少し内側に押し込めました。

ガラス部を非表示にして作業を続けます。
柱と電球の間にポリゴンメッシュの薄い円柱を配置。

自由曲面で屋根部分を作成します。
これは、「閉じた線形状」の正方形をサイズを変えて高さ方向に積み上げて自由曲面として立体化しています。

電球部を作成。円の掃引体と球を使用しました。

以上でモデリングは完了です。
次にマテリアルを割り当てていきます。

以下の4つのマテリアルをマスターマテリアルとして与えました。

  • body (黒色、少しメタリック調)
  • frame (黒色、ラフネスが強くざらついた材質)
  • glass (透明、屈折率1.0)
  • light (透明、屈折率1.0)

bodyは以下のPBRマテリアルを割り当てています。

メタリックを0.1として少し映り込みを与えました。

frameは以下のPBRマテリアルを割り当てています。

ラフネスを大きくしざらつきを与えています。

glassは以下のPBRマテリアルを割り当てています。

「屈折率」を1.0にしています。
これは、厚みのない面として透明を表現しているため(現実では薄膜と似た表現)屈折が見えないものとしています。
「透明度」を0.8として少し不透明にしています。
また、「その他」ボタンを押して「影を落とさない」「影を表示しない」チェックボックスをオンにします。

lightは以下のPBRマテリアルを割り当てています。

glassと同様に「屈折率」を1.0にしています。
「透明度」を0.5として白色電球のようにしています。
また、「その他」ボタンを押して「影を落とさない」「影を表示しない」チェックボックスをオンにします。

背景を指定してプレビューレンダリングすると以下のようになりました。

この形状を「街灯1.shd」として保存しておきます。

道路の街灯

道路の街灯は高さ5000(mm)としました。

ポール部は公園内の街灯と同じで「開いた線形状」で輪郭を作成し、回転体で立体化しています。
笠部分は左右対称になっています。
ポール部と笠をつなぐパイプは、「開いた線形状」を配置後、「掃引_円」で半径25(mm)の太さを与えました。

笠部分は「閉じた線形状」を高さ方向にリサイズしながら並べていき、自由曲面で曲面にしています。
「切り替え」や「スムーズ」を使って滑らかな曲面になるように整えました。

笠の中は、ポリゴンメッシュの円柱と球を配置しています。
球は電球になります。

この笠部分は180度回転して複製し、双葉の形になるようにしました。

道路の街灯のモデリングは以上で完成になります。

以下の3つのマテリアルをマスターマテリアルとして与えました。

  • body (灰色)
  • body2 (笠部分、鈍いメタリック)
  • light (透明、屈折率1.0)

bodyは以下のPBRマテリアルを割り当てています。

body2は笠部分となり、以下のPBRマテリアルを割り当てています。

メタリック1.0、ラフネス0.4として鈍い金属の表現にしました。

lightは電球部分で、以下のPBRマテリアルを割り当てています。

「透明度」を0.5として白色電球のようにしています。
また、「その他」ボタンを押して「影を落とさない」「影を表示しない」チェックボックスをオンにします。

背景を指定してプレビューレンダリングすると以下のようになりました。

この形状を「街灯2.shd」として保存しておきます。

以上で3つの街灯が用意できました。
光源については個々の街灯のshdファイルでは未使用です。
公園のシーンにインポート後に必要に応じて追加することにします。

公園のシーンに街灯をインポート

公園の入り口より少し奥に、「街灯1.shd」を外部参照として配置しました。

「庭園灯(ボラード).shd」を外部参照としてインポートし、公園の柵の内側にいくつか配置しました。

道路に沿うように、「街灯2.shd」を外部参照として配置しました。

道路側と歩道側を照らすように、道路の進行方向に垂直になるように街灯を置いています。

昼間のシーンをレンダリング

一度レンダリングします。
これは背景が明るく、無限遠光源としての太陽が存在する昼間のシーンになります。
カメラの焦点距離を35mmに変更しました。

人の視点の高さにし、横断歩道側から公園を見るカメラ(焦点距離35mm)でレンダリングしました。

夜間のシーンをレンダリング

各街灯で光源として点光源を配置します。
これは、元の街灯のshdファイルで点光源を入れるようにしました。
「庭園灯(ボラード).shd」の電球の中心に、明るさ250(mm)の点光源を配置しました。

「街灯1.shd」の電球の中心に、明るさ500(mm)の点光源を配置しました。

「街灯2.shd」の電球の中心に、明るさ500(mm)の点光源を配置しました(二か所)。

光源を追加後、それぞれのshdファイルを保存します。

これらの街灯は公園のシーンでは外部参照として読み込まれています。
ブラウザで該当する外部参照の形状をマスターオブジェクトパートから選択し、
形状情報ウィンドウで「更新」ボタンを押して更新を促す必要があります。

無限遠光源の明るさを0にし、背景ウィンドウでHDRIの濃度を0.01と小さくしました。

月明りのHDRIがある場合はそれを指定するのもよさそうです。

そのままでは点光源の明るさが小さいため、レンダリング設定の「照度調節」を3に変更しました。

これはシーン内の光源全体の明るさを底上げする指定になります。
Shade3Dのバージョンによっては効かない場合があったため、その場合は光源の元の明るさを大きくするようにしてください。

レンダリングすると以下のようになりました。



この暗闇のレンダリングの場合、木のビルボードの陰影が気になる点ではあります。
今回は触れませんが、この場合は木自身をある程度モデリングしたほうがいいのかもしれません。

レンダリング速度を上げるには?

このような野外シーンで街をレンダリングする場合、パストレーシングではレンダリング時間がかかってしまいます。
その場合は、レンダリング設定で「視線追跡レベル」と「レイトレーシングの画質」を下げるのが有効です。
室内の場合はこの値を小さくするとノイズが品質に影響してしまうのですが、
室外の場合は間接照明の回り込みは小さく室内ほどノイズの影響を受けません。
ここでは「視線追跡レベル」を5から3に変更、「レイトレーシングの画質」を50から40に変更しました。

これにより、レンダリングは2倍ほど速くなりました。

後半は駆け足になりましたが、「街灯を作る」カテゴリはこれで完了です。
街灯を通して街を作るという流れでした。1つ1つのモデリングはさほど凝っていません。
もちろん、より細かく作るほうがよい仕上がりになります。
ですが、全体として引いて見るとリアルに見えてくるのを確認できました。
このようなシーンの場合、外部参照がかなり有効というのも注目できる点になります。

次回は別のテーマについて解説していく予定です。

カテゴリー: 街灯を作る