部屋のベースモデルの質感が決まったら、ライトをシーンに追加してライティングをおこないシーンに適切な陰影を与えて立体感のある部屋にアップグレードしていきます。
今回質感を作成するときにプロシージャルマップを使用しているため、このままではUnityや他の3DCGツールで利用使用とすると、利用先のツールで再びプロシージャルマップの設定が必要になってしまいます。
そこでプロシージャルマップで作成した質感は「ベイク」という処理を行なって、画像テクスチャに変換しておきます。
コチラの記事を読んでから、本記事に入ることをオススメします!
画像テクスチャを作成しよう!【Blenderワールドモデリング vol.04】
部屋のベースモデルの質感には、ベースカラーやプロシージャルマップだけでは表現できないものもあります。 そのような場合は、必要な模様をPhotoshopなどのペイントソフトを使って画像テクスチャを...
シーンにライトを追加する
作成した部屋のシーンには、最初から設定されているポイントライトが一灯設定されているだけなので、陰影が乏しく平坦は印象になっています。ライトを追加してシーンの陰影を強調していきます。
STEP01 シーンにライトを追加する
ここでは最初からシーンに配置されているライトはそのままシーン全体を照らすライトとして残しておきます。
ライトは部屋の内側に配置したいので、わかりやすいように3Dビューの右上にあるシェーディングをワイヤーフレームに切り替えて、表示をワイヤーフレームにします。
ライトはシーンにある3Dカーソルの位置に追加されるので、[3Dカーソル]ツールを使ってライトを配置したい位置に3Dカーソルを配置します。
3Dビューをトップビューに切り替えて、天井のライト位置に3Dカーソルを配置しました。
[追加メニュー→ライト→エリア]を選択します。
3Dカーソルの位置にエリアライトが作成されました。エリアライトは光源の形状が四角い平面になるので、天井に埋め込まれている照明器具を光源とするような場合に便利なライトです。
ビューを横から見た状態にすると追加されたライトの位置が床付近にあるので、追加されたライトを選択して、移動ツールを使って天井の照明器具の下にライトを移動します。
ライトを照明器具の中に入れてしまうと、光が遮られてしまうので必ずライトはオブジェクトの中に入らないようにします。
STEP02 ライトの大きさを変更し複製する
作成したライトはデフォルト大きさだと照明器具の大きさに合わないので、スケールツールを使って大きさを照明器具より少し大きめにサイズを変更し、移動ツールを使って照明器具の位置に合うように移動します。
ライトの大きさや位置が決まったら、ライトを選択して、Ctrl + Dを押してライトを複製し、もう1つの照明器具の位置に移動して位置を合わせます。
横から見ると複製して移動したライトの垂直方向の位置がずれていることがあるので、移動ツールを使って、最初に配置したライトと同じ高さになるように調整します。
斜めから見ると2つのライトが図のように配置されています。
STEP03 カメラの位置を調整する
部屋の中が実際にどのようにライティングされているのか確認するために、カメラを部屋の中に移動して確認します。まずはシーンに配置されているカメラを選択します。
ビューをトップに切り替えて、カメラを選択した状態で移動ツールをオンにします。カメラを移動させるときは、[トランスフォーム座標系]を「ローカル」に切り替えると移動しやすくなります。
カメラを部屋の中に移動したら、回転ツールを使ってカメラが少し上を向くように回転させます。カメラの位置は床に近くして煽った状態にしました。
ビューをカメラに切り替えます。
デフォルトの状態だとカメラの焦点距離が長く広い範囲をレイアウトに納められないので、アウトライナーでカメラを選択し、プロパティエディタの[カメラ]を選択してプロパティを表示し、[レンズ]プロパティの[焦点距離]を「20mm」に変更してカメラを回転させながレイアウトを決めていきます。
3Dビューの右上にあるビューのシェーディングを[レンダープレビュー]に切り替えて、実際のライティングの状態を確認します。
ライティングが暗い場合は、ライトを選択して、プロパティエディタの[ライト]プロパティで[ライト]の[パワー]の値を調整します。ここでは「40W」に設定しています。
テクスチャベイクで画像テクスチャを作成する
ライティングが決まったところで、オブジェクトに適用されているマテリアルから画像テクスチャを作成します。この処理のことをテクスチャベイクと呼んでいます。
テクスチャベイクを行うと、マテリアルにライトがあたった状態の陰影も画像テクスチャとして出力することができるので、Unityなどで利用する際に処理軽減につながります。
またプロシージャルマップで作成されている模様なども固定した画像として出力することができます。
STEP01 テクスチャベイクの準備をする
ベイク処理の準備として画像テクスチャを出力するためのノードを用意します。テクスチャベイクには、UV展開が必須なのでUV展開されているオブジェクトを選択します。
ここでは部屋のオブジェクトをアウトライナーで選択しました。
Blenderのレイアウトを[Shading]に切り替えます。切り替えると、3Dビューの下に[シェーダー]エディターと[画像]エディターが表示されます。
[画像]エディターが表示されないときは、[シェーダー]エディターの右端の境界を右クリックして[垂直に文分割]を選択し、[シェーダー]エディターの3分の1あたりをクリックしてエディターを分割します。
分割された[シェーダー]エディターの左側のエディターを[画像]エディターに切り替えます。
オブジェクトが選択された状態で、[プロパティ]エディターの[マテリアル]プロパティを表示して、壁のマテリアル(ここではmt_wall)を選択します。
[シェーダー]エディターにマテリアルが表示されたら、[シェーダー]エディターの[追加→テクスチャ→画像テクスチャ]を選択します。
画像テクスチャのノードが追加されます。このノードは、どのノードにも繋げずに孤立した状態にしておきます。
[画像テクスチャ]ノードの[新規]をクリックしてベイクに使用する画像を作成します。
ここでは幅と高さを「2048px」に設定しました。[アルファ]はオンにして、画像の名前は「wall_color.png」としました。設定できたらOKをクリックします。
STEP02 テクスチャベイクを行う
テクスチャベイクを行うには、[画像テクスチャ]ノードを選択した状態で、[プロパティ]エディターの[レンダー]プロパティを表示します。[レンダーエンジン]は「Cycles」にしておきます。
[影響]では生成するテクスチャに、マテリアルのどの要素をレンダリングして画像を生成するのかを選択します。ここでは、[照明][寄与]の全ての項目にチェックを入れています。
ライティングの情報、いわゆるライトマップが必要ない場合は[照明]の項目のチェックを外しておいてもよいでしょう。設定ができたら[ベイク]をクリックしてベイク処理を開始します。
ベイクが終了すると、[画像]エディターにレンダリングされた画像テクスチャが表示されます。
極端に暗くなっている部分がある場合は、その部分の面の法線の方向が逆になっている場合があるので修正します。全体的に暗くなるような場合は、マテリアルの[スペキュラ]の値を上げると解消することがあるので試して見てください。
作成された画像テクスチャは、[画像]エディターの[画像→名前を付けて保存]を選択して保存します。
ファイルビューのウィンドウが表示されるので、ファイル名を付けて保存します。
STEP03 他のマテリアルもベイク
選択しているオブジェクトには、3つのマテリアルが設定されているので、他のマテリアルについてもテクスチャをベイクしていきます。
手順は同じです。
まずは[マテリアル]エディターで壁の下の茶色い部分のマテリアル(mtwallunder)を選択し、[画像テクスチャ]ノードを追加します。
解像度は同じく[幅][高さ]とも「2048px」にしています。テクスチャベイクをする場合は、必ず全ての画像テクスチャの解像度を合わせておきます。
画像テクスチャの準備ができたら[ベイク]をクリックしてベイクします。
[画像]エディターにベイクされた画像テクスチャが表示されます。この画像も名前を付けて保存します。
床のマテリアルもベイクして画像テクスチャを作成しておきます。[マテリアル]プロパティで床のマテリアル(mt_floor)を選択して、[画像テクスチャ]ノードを設定してベイクします。
床の画像テクスチャが作成されるので、保存しておきます。
ベイクされたテクスチャを1枚の画像にまとめる
マテリアルごとに画像テクスチャを作成しましたが、UVはひとつなので、それぞれの画像テクスチャを1枚にまとめて、使用するテクスチャの容量を削減します。Unityなどのゲームエンジンではテクスチャの量は処理負荷がかかる部分なので、なるべく数を少なくしておきます。
STEP01 Photoshopで画像テクスチャを合成する
Photoshopでテクスチャベイクで作成した画像を3枚とも開きます。
[Floor_color.png]
[Wall_color.png]
[Wall_ under_color.png]
開いた3枚を合成してひとつにします。ここでは、[Floor_ color.png]のファイルに合成していきます。[Wall_ color.png]を選択して、レイヤーパネルで[レイヤー1]を選択して右クリックし、[レイヤーを複製]を選択します。
[レイヤーを複製]ウィンドウが表示されるので、[保存先]の[ドキュメント]を[floor_color.png]に切り替えてOKをクリックします。
同じように[wall_ under_color.png]を表示して、[レイヤー]パネルで[レイヤー1]を選択して、右クリックして[レイヤーを複製]を選択します。
[レイヤーを複製]ウィンドウが表示されるので、[保存先]の[ドキュメント]を「floor_color.png」に切り替えてOKをクリックします。
Floor_color.pngを表示すると、ふたつのファイルのレイヤーが複製されて、1つの画像にまとめられます。
合成できたら、背景用に新しいレイヤー作成し、レイヤーの一番下に配置してグレーで塗る潰しておきます。背景の色は何色でも大丈夫ですが、UVの境界に標示されも目立たないようにここでは濃いめのグレーにしました。
最後に[ファイル→別名で保存]を選択します。
[別名で保存]ウィンドウが表示されるので、ファイル名を入力してファイルの種類を設定して[保存]クリックして画像テクスチャの完成です。ここではファイルの種類はPNGにしました。
次回は、BlenderからFBXでデータを書き出しUnityに部屋のデータを読み込む方法を解説します。
TEXT_大河原浩一/Hirokazu Okawara(東京アニメーションカレッジ専門学校-非常勤講師)
EDIT_河内誠/Makoto Kawauchi(Vook編集部)
📚合わせて読みたい、Blenderの使い方がまとめてわかる解説記事一覧はこちら!
【Blenderの使い方】これ1本ですべてがわかる! 完全ガイド
Vook編集部がお届けする「解説シリーズ Blender編」。 「Blender」の基本的な使い方から、かゆいところに手が届くTIPSまで、これからBlenderを使い始める人や制作の途中でつま...
基礎解説シリーズ|Blender@Blender_Tips
Vook編集部がお届けする「解説シリーズ」のBlenderアカウントです。Blenderの基本的な使い方から、かゆいところに手が届くTIPSまで、様々なナレッジ記事を発信していきます!(リクエストもぜひ)
コメントする