こんにちは。17期のRYです。
今回の記事では題名通り夜景を作る方法を解説していくのですが、 どちらかというと作るうえで便利なアドオン等の紹介が主になると思うのでご了承を。 早速、完成見本から見てみましょう。 若干空気が汚くて良い感じの夜景ですね。それでは本題に入っていきます。
※blenderでの操作の説明を行うとき、英語でのUIの表記を用いています。
0.最初に
レンダリングにはEEVEEを使います。
Ambient Occlusion・Bloom・Screen Space Reflections(これが有効でないとガラスが透過されない)にチェックを入れておきましょう。
1.OSMで街並みをパクる
OpenStreetMap(通称:OSM)はオープンデータの地図情報であり、今回作る街並みはこれを基に作っていきます。 ちなみに、見本には新宿の地図情報が使われています。
まずはOSMのサイトへ行き、好きな場所を検索したらエクスポートしましょう。エクスポートの際は“ドラッグして別の領域を選択”機能を使うことをおすすめします。
ファイルのダウンロードが完了したら、BlenderGISというアドオンを使い、Blenderに地図情報をインポートします。 アドオンのインストールが終わると、3Dビュー上部に“GIS”ボタンが増えているので、ここから先ほどエクスポートした.osmファイルを選択します。
(この時、読み込んだオブジェクトが大きすぎたり、その影響でクリッピングの範囲が変わってしまったりするので注意してください。)
読み込まれた高いビルは範囲選択で消しておきましょう。後にビルを自作して差し替えます。
2.Tissueでビルを作る
Tissueはオブジェクトを一つのパターンとして、他のオブジェクトの面と差し替えることができるアドオンです。Blender2.79から搭載されています。
tile→baseの順に選択し、3Dビューの右側の“Edit”タブから、tessellation→OKで実行できます。 詳細な使い方はこちらを参照してください。
面を分割した四角柱(base)と、窓と内装(tile)を用意し、tessellationを実行すると、こんな感じでビルの原型ができます。
窓と内装のマテリアルは、フレーム・ガラス・内装でそれぞれ別のマテリアルを割り当てておくと便利です。ガラスのマテリアルのSettings内のScreen Space Refractionを有効にしておいて下さい。(これが有効でないとガラスが透過されない)
このままだと全ての窓が光っていて現実味がないので、テクスチャでランダムに窓の光を消します。
内装マテリアルが割り当てられているメッシュを全て選択し、Smart UV Project もしくは Lightmap PackでUV展開します。 UVEditorを開き、ピボットポイントを個々の原点にし、大きさを0にします。
テクスチャとして参照する部分を画像上の一点に絞ることで、各面をその一点の色で塗りつぶすことができます。
これをビルのマテリアルに利用するとこんな感じになります。
見本では同様にして6つの種類のビルを用意しました。マテリアルには更に、横に引き伸ばしたノイズテクスチャが乗算されています。
3.JSplacementでディテールを加える
JSplacementはSci-Fi系のパターンを生成してくれるアプリです。
これを 先ほど作ったビル以外の建物 の光と、道路周りの光を加えるのに使います。
起動後も起動中のような画面でややこしいのですが、左上のアイコンをクリックするとメニューが出てくるので、JSplacement: dotgridを選択します。
Dot shapesは白く塗りつぶされた四角のみにチェックを入れ、Drawing chanceは少し高めにしておくことを勧めます。
設定ができたらGenerateを押し、次にSave Heightを押して適当な場所に保存します。
blenderに戻り、先ほどBlenderGISで読み込んだ建物を選択し、Cube ProjectionでUV展開します。
このままだと建物の屋根まで光ってしまうので、編集モードで屋根の面をひとつ選択した後、select→select similar→normalですべての建物の屋根が選択できるので、そこだけ別のマテリアルを割り当てておきましょう。
テクスチャで光る場所を制御するようにマテリアルを設定するとこのようになります。
続いて道路の光ですが、少々手順を踏む必要があります。
先ほどBlenderGISで読み込んだオブジェクトの内の"Ways"を選択します。編集モードの状態で頂点グループの中から、"Tag: highway"を選び、selectを押すと高速道路の頂点のみ選択することができるので、"P"キー→selectionで別のオブジェクトに分離します。
分離したオブジェクトをメッシュからカーブに変換し、解像度1のPathオブジェクトでベベルします。これで、直線の繋がりだけだったものに厚みを付けられます。 この時点ではまだカーブなので、メッシュに変換しましょう。
これでやっと道路にテクスチャを貼れるので、Lightmap PackでUV展開し、同様にマテリアルを設定します。
4.あとはもう、雰囲気で。
以上のものを組み合わせるともうほぼ完成です。
ここからは特別紹介したい技法を使わないので、端折ります。
雰囲気でPrincipled Volumeを追加して雰囲気を出します。Volumetric lightingで検索して幸せになりましょう。
コンポジットでグレアを追加し、ガンマ・コントラストなどを雰囲気で調節します。
(見本のコンポジットの設定を転用してるので)ちょっと雑ですがこれで仕上げになります。
5.最後に
いかがだったでしょうか。
途中で説明がグダグダしているなと思ったので後半は大分駆け足になってしまいましたが、何か皆さんの今後の創作に使えそうな情報が一つでもあれば幸いです。
最後まで読んで頂きありがとうございました。