第4回:ライティングしてみよう

こんにちは。スタジオ・デジタルプラスの磯野です。
前回は、Unreal Engine4の初歩的なマテリアル設定について解説しました。
今回はUnreal Engine4の色々なライトを紹介しながらライティングをしていきます。

前回同様、つまずき易いところにはUnreal Engine4の公式ドキュメントのリンクを載せているので、参考にしてください。

ライティングの基本操作は公式ドキュメントをご覧ください。
公式ドキュメント【背景のライティング】
公式ドキュメント【ライティング クイックスタート ガイド】

第2回目で少しだけ太陽やライトの設定をしています。
今回は第2回目で説明した設定は完了しているものとします。

ライトの紹介

今回使うライトは2種類。ポイントライトとスポットライトです。

ポイントライトとスポットライト

ポイントライトは3ds Max でいうと、オムニライトになります。

ライトには可動性の設定があり「スタティック」「ステイショナリー」「ムーバブル」とありますが、ここでは「スタティック」と「ステイショナリー」しか使いません。

ライトの可動性の設定

・「スタティック」はプレイ中に一切移動及び変更する事ができません。
・「ステイショナリー」はスタティックと同様に移動はできませんが、プレイ中にカラーと明るさの変更ができます。
・「ムーバブル」は全ての変更がプレイ中に行えるライトになります。

可動性は必要に応じて選びますが、一先ず迷ったら「ステイショナリー」を使ってみましょう。

詳しくは公式ページをご覧ください【ライトの可動性】

ライトを配置してみる

いくつかご紹介しながらライトを配置していきます。
3ds MaxでライティングしていてもUnreal Engine4にインポートできないライトや、かえって調整に時間がかかってしまうこともあります。
その場合はUnreal Engine4でライトを入れてみましょう。

まず、同じライトをいくつも入れたい時に便利な方法をご紹介します。

ライトをアセット化して並べる

3ds Maxでライトを並べてしまう事が多いかと思いますが、Unreal Engine4のブループリントを使って楽にライトを並べる方法もあります。
この方法ですとライト設定を変更した時、3ds Maxのインスタンスのように他にも継承されます。
シーン中央の一列に並んでいるダウンライト(SM_down01~007)でやってみましょう。

00:10 SM_down01」を選択
00:14 コンポーネント追加」をクリックして「Spot Light」を検索して選択
00:23 違う方向を向いていたら回転してあげましょう
00:31 ブループリント/スクリプトを追加」をクリック
00:35 追加するフォルダを選び「ブループリントを作成」をクリック
00:39 自動でウィンドウが開くので、ライトの設定をします
01:09 IESを入れたい場合は「Light Profiles」の「IES Texture」にIESファイルをドラック&ドロップ(検索して入れることもできます)
01:16 設定が済んだら「コンパイル」して閉じる
01:28 アウトライナから「SM_down002~007」を選択
01:34 「SM_down002~007」からいずれかのアクタを右クリック
01:35 「選択中にアクタと配置」に表示されている「SM_down01_Blueprint」をクリックで配置完了

これで配置できました。
ライトの設定を変えたいときは、作成したブループリントクラス「SM_down01_Blueprint」から設定しましょう。

間接光を入れる

バージョン4.20から「Rect Light」というライトが追加されました。矩形の面光源ライトになります。
今までは、平面(板ポリゴン)にEmissive Lightマテリアルを入れたり、Point LightのSource Length値を大きくしたりして表現していましたが、それが不要になりました。

00:00 モードパネルの「ライト」から「Rect Light」をドラッグ&ドロップ
00:07 必要な大きさと強さにして配置

従来の平面(板ポリゴン)にEmissive Lightマテリアルを入れる方法もご紹介します。

平面を配置

00:00 モードパネルの「基本」から「平面」をドラッグ&ドロップ
00:07 平面を配置

マテリアル作成

00:21 コンテンツブラウザからマテリアルを作りたい場所を選択
00:24 右クリックでマテリアルを新規作成
00:39 マテリアルブラウザを開く
00:43 ベースカラーに「constant 3Vector」を適用、パラメータ化する
00:53 エミッシブルカラーに「Multiply」を適用・「B」に「constant」を適用・「Value」の値を入力
01:07 ベースカラーの色を選んで「Multiply」の「A」に繋ぎ最後に「適用」をクリック
01:24 作成したマテリアルを先ほどの「平面」に適用

光源を見せたくない場合はメッシュの詳細パネル「Rendering」にある「Visible」のチェックを外せば非表示になります。
作業中は表示させたいが、プレイ中は非表示にしたい場合は「Visible」「Actor Hidden In Game」両方にチェックを入れてください。

Rendering Visibleの設定

影をやわらかくしたい

下の図のように、パキッと出てしまった影を柔らかくしたい場合はライトの詳細パネル「Light」にある「Source Radius」の値を入れます。

ライトの詳細パネル「Light」にある「Source Radius」の値を入れる

左の図が「Source Radius」の値が「0」、右が「Source Radius」の値「300」の図です。

左の図が「Source Radius」の値が「0」、右が「Source Radius」の値「300」の図

IESを使いたい

Unreal Engine4で新たにIESファイルを使いたい場合は、ライトの詳細パネル「Light」にある「Light Profiles」の「IES Texture」にIESファイルを入れましょう。

00:00 ライトを配置し詳細パネルの「IES Texture」にIESファイルをドラッグ&ドロップ
00:28 ドラッグ&ドロップ以外の方法もあります

ビルドする

ライトを一通り配置したら、一度「プレビュー」でビルドしてみましょう。

プレビューでビルド後、ライティングに問題がなければ「ワールドセッティング」にある「Lightmass」の設定をします。
「ワールドセッティング」は詳細パネルの隣に出ているか、なければメニューの「ウィンドウ」からワールドセッティングを開きます。

「ワールドセッティング」にある「Lightmass」の設定

「Lightmass」の項目
Static Lighting Level Scale・・・・・・・・値が小さいほどビルド時間が増えるので注意が必要
Num Indirect Lighting Bounces・・・・・・間接光のバウンス回数
Indirect Lighting Quality ・・・・・・・・・間接光のクオリティ
Indirect Lighting Smoothness・・・・・・・値を上げると間接光が滑らかになる
Use Ambient Occlusion・・・・・・・・・・アンビエント オクルージョンを使う場合はチェック

「Lightmass」についてもっと詳しく知りたい方は、Epic Games Japanのスライドをお勧めします。

今回「Lightmass」の設定は以下のようにしました

「Lightmass」の設定

品質をプロダクションにしてビルドします。

ビルド後はこうなりました。

今回と第2回目(インポート編)のビルド結果を比べてみましょう。

今回作成した画像
今回
第2回で作成した画像
第2回

次回は、3ds MaxからDatasmithを使って色々な種類のライトをインポートしてみます。

最後まで読んでいただきありがとうございました。