春日部つむぎ no ゲーム作ってみよう!【UE5/UE4】 - ゴットレイ(薄明光線)LightShaft【UE5】

https://youtu.be/MGsl6_LiJSw?si=OrqUQOqjSqeb-6Kt

00:00 オープニング
00:32 1.新規レベルの作成
03:38 2.ゴットレイ(薄明光線)
03:59 2-1.オクルージョン手法
04:35 2-2.ブルーム手法
05:21 2-3.LightShaftの向き調整
05:52 3.マテリアルでLightShaft
06:07 3-1.LightShaft用スタティックメッシュの作成
06:34 3-2.マテリアルの作成
07:04 3-2-1.グラデーションの作成
07:26 3-2-2.上側のグラデーション調整
08:19 3-2-3.下側のグラデーション調整
08:46 3-2-4.上側と下側グラデーションの合成
09:28 3-2-5.ベースカラー
09:58 3-2-6.境界線をぼかす処理
11:26 3-3.マテリアルインスタンス
12:11 設定ファイル
12:16 エンディング
12:21 LightShaftを使用するメリットは?
13:05 ゲーム内でのLightShaftの具体的な演出方法は?
   追記 M_LightShaft(NoiseVersion)

1.新規レベルの作成 00:32

新規レベルを作成します。
ファイル > 新規レベル > 空のレベルを選択します。



アクタを配置パネル > Geometryタブより、Boxをドラッグアンドドロップします。
Locationをリセットします。
Scale を8.0、8.0、0.1にします。

アクタを配置 > ライトタブより、Directional Lightをドラッグアンドドロップします。
Locationをリセットします。
位置をY:500、Z:500にします。

アクタを配置パネル> ビジュアルエフェクトタブより、SkyAtmosphereをドラッグアンドドロップします。
Locationをリセットします。
位置をY:500、Z:600にします。

雲も追加しましょう。
アクタを配置パネル> ビジュアルエフェクトタブより、VolumetricCloudをドラッグアンドドロップします。
Locationをリセットします。
位置をY:500、Z:700にします。

下半分が真っ暗なのでFogを追加します。
アクタを配置パネル> ビジュアルエフェクトタブより、ExponentialHeightFogをドラッグアンドドロップします。
Locationをリセットします。
位置をY:500、Z:800にします。

Lightmassを追加します。
アクタを配置パネル> ボリュームタブより、LightmassImportanceVolumeをドラッグアンドドロップします。
Locationをリセットします。
Scaleを10倍にしてPlay範囲を覆います。
Lightmass Importance Volumeを使用すると、
詳細な間接ライティングが必要な領域にだけ処理を集中させることができます。

PostProcessVolumeを追加します。
アクタを配置パネル> ビジュアルエフェクトタブより、PostProcessVolumeをドラッグアンドドロップします。
Locationをリセットします。
位置をY:500、Z:900にします。

詳細パネル>ポストプロセスボリュームの設定で、
Enabledを有効にします。※デフォルトで有効になってます。
Infinite Extent(unbound)を有効にしてレベル全体に影響するようにします。

レンズ>Exposureで、、
Min Ev100とMaxn Ev100をそれぞれ1.0にします。※明暗順応をOFFにします。

レンズ>Image Effects>ビネット効果強度を0.0にします。

カラーグレーディング>Globalで、
彩度を1.25にします。
ガンマを0.5にします。

Miscセクションで、
色拡張を0.0にします。
トーンカーブ量を0.0にします。

レンダリング機能>Motion Blurで
数量を0.0にします。

適当にスタティックメッシュを配置します。

2.ゴットレイ(薄明光線) 03:38

DirectionalLightを選択します。
低い位置から太陽光を照らすようにします。
回転で、Y:-25にします。

詳細パネル>LightShaftに
[LightShaftOcclusion(ライトシャフトオクルージョン)]と[LightShaftBloom(ライトシャフトブルーム)]があります。

2-1.オクルージョン手法 03:59

[LightShaftOcclusion]を有効にします。

ちょっと分かりずらいので、

ExponentialHeightFogを選択します。
詳細パネル>フォグ密度を0.25にします。



ゴッドレイが表示されました。



[LightShaftOcclusion]ではライトがより暗くなるため、暗い光線が得られます。

オクルージョンでの手法は
フォグや大気の影響を受けますので、現実のLightShaftのような振る舞いをします。
より現実味のある表現をゲームに作成したいときに使用します。

2-2.ブルーム手法 04:35

DirectionalLightを選択します。

[LightShaftOcclusion]を無効にして、
[LightShaftBloom]を有効にします。

少し薄いので、
Bloom Scaleを2.0にします。



ハッキリ表示されます。



[LightShaftBloom]では明るい光線がもたらされます。

[Bloom Tint]で光線の色が変更できます。



光線をはっきりと確認することができます。



神々しいTreeになりましたね。

ブルームでの手法は、
フォグの濃度に制限されないので、現実世界の現象をエミュレートするわけではありませんが、
印象的な表現を作成したいときに使用できます。

2-3.LightShaftの向き調整 05:21

詳細パネル>LightShaftの詳細設定を展開します。

ブルーム手法では、
LightShaftOverrideDirectionに値を記入するとこで
LightShaftの向きを変えることができます。

[-1、-1、-1]と入力してみます。



DirectionalLightの向きと異なる方向にLightShaftが出ましす。

3.マテリアルでLightShaft 05:52

マテリアルでLightShaftの表現を作成し、
そのマテリアルをスタティックメッシュに貼り付けてLightShaftを作成します。

意図的にLightShaftを配置することができるようになります。

3-1.LightShaft用スタティックメッシュの作成 06:07

アクタを配置 > 形状タブより、コーンをドラッグアンドドロップします。



Locationをリセットします。
位置をX:-120.0、Y:0.0、Z:250にします。
回転をY:46°にします。
スケールをX:7.0、Y:5.0、Z:16.0

3-2.マテリアルの作成 06:34

LightShaftのマテリアルを作成します。

右クリック>マテリアルで新しいマテリアル作成します

名前を「M_LightShaft」にします。

マテリアルを開きます。

結果ノードをクリックします。

詳細パネル>ブレンドモードをトランスルーセントにします。



トランスルーセントは半透明という設定です。
今回LightShaftは半透明ですので、半透明を使って表現します。
3-2-1.グラデーションの作成 07:04
LightShaftは、境界線の部分から光の筋の中心に向かって徐々に濃くなっています。
濃くなっていくグラデーションを作ります。



LinearGradientノードを配置します。
LinearGradientは、一般的なグラデーションが作成できる関数です。



UV座標はテクスチャ画像を貼り付けるとき、
どこが左上でどこが右下かを合わせるために必要な座標系です。
3-2-2.上側のグラデーション調整 07:26
グラデーションの上側を作成します。

Powerノードを配置します。
Powerノードは、BaseをExpで累乗し、結果を出力します。



今回縦軸の方向のグラデーションを作成します。
縦軸の方向はV Gradientピン側なので、
LinearGradientノードのV Gradientピンにつなぎます。

プルダウンを押すとプレビューを見る事ができます。

現在Expピンの値に2.0と記入されています。
Expピンを後で調整できるようにパラメータ化します。

キーボードの1キーを押してクリックします。
右クリックで「パラメータに変換」します。

名前を「PowerParam」にします。
Default Valueにもとの値2.0を記入します。

ExpピンにScalarParameterノードにつなぎます。

3-2-3.下側のグラデーション調整 08:19
グラデーションの下側を作成します。

1-Xノードで上下をひっくり返します。

1-Xノードを配置します。
LinearGradientノードのV Gradientピンにつなぎます。

Powerノードを配置します。
Powerノードを1-Xノードにつなぎます。

Expピンを既存のScalarParameterノードにつなぎます。

3-2-4.上側と下側グラデーションの合成 08:46
Multiplyノードを配置します。
上側のグラデーションをAピンにつなぎます。
下側のグラデーションをBピンにつなぎます。

色が暗くなっているので、色合いの強さを調整します。
更にMultiplyノードをつなぎます。
キーボードの1キーを押してクリックします。
右クリックで「パラメータに変換」します。
名前を「GradientParam」にします。
Default Valueに10.0を記入します。
BピンにScalarParameterノードをつなぎます。

色合いが明るくなります。

結果ノードのオパシティにつなぎます。

3-2-5.ベースカラー 09:28
キーボードの4キーを押してクリックします。
右クリックで「パラメータに変換」します。
名前を「BaseCalor」にします。
白色にします。

結果ノードのベースカラーにつなぎます。



保存して閉じます。

一度配置してみましょう。

LightShaftと背景との境界線がハッキリしているので調整します。

3-2-6.境界線をぼかす処理 09:58
マテリアル「M_LightShaft」を開きます。

Fresnelノードを配置します。
Fresnelノードは、境界線をぼかす為にいれます。



キーボードの1キーを押してクリックします。
右クリックで「パラメータに変換」します。
名前を「ExponentlnParam」にします。
Default Valueを5.0にします。
Exponentlnピンにつなぎます。

キーボードの1キーを押してクリックします。
右クリックで「パラメータに変換」します。
名前を「BaseReflectFractionInParam」にします。
Default Valueを0.01にします。
BaseReflectFractionInピンにつなぎます。



右クリック>「ノードのプレビューを開始」を選択します。
この時点のマテリアルをプレビューできます。



外側は白くて内側に行くほど色がなくなりますね。



右クリック>「ノードのプレビューを停止」します。



境界線をぼかしたいので、
内側は白くて外側に行くほど色がなくなるようにします。

1-Xノードをつないで反転します。

グラデーションと合成します。

Multiplyノードを配置します。
AピンにFresnelノードをつなぎます。
Bピンにグラデーションをつなぎます。

結果ノードのオパシティにつなぎます。



保存して閉じます。

3-3.マテリアルインスタンス 11:26

作成したマテリアルをインスタンス化します。

M_LightShaftを
右クリック>マテリアルインスタンスを作成を選択します。



マテリアルインスタンスを
LightShaft用スタティックメッシュに
ドラッグアンドドロップして貼り付けます。

マテリアルインスタンスを開きます。
詳細パネル>パラメータグループにマテリアルで作成したパラメータが反映されています。
すべてのパラメータを有効にします。

ExponentlnParamを0.15にします。
GradientParamを25にします。



設定ファイル 12:11

LightShaftを使用するメリットは? 12:21

雰囲気の向上:

LightShaftは、光が物体や障害物の間から差し込む現象を表現する効果です。
これにより、空から差し込む光線が繊細な雰囲気を作り出し、シーンに奥行とリアリティを与えることができます。

絵作りの柔軟性:

メッシュとマテリアルを使用してLightShaftを作成する場合、ライトやフォグの調整で作るものよりもコントロールが簡単で、絵作りがしやすくなります。

現実感の追加:

ゲームにより現実的な表現を求める場合、LightShaftはフォグや大気と同様に強い効果があり、よりリアルな雰囲気を作り出すことができます。

ゲーム内でのLightShaftの具体的な演出方法は? 13:05

太陽光の演出:

ディレクショナルライトから放射される光線を強調させます。
光線が建物や木々の間を透過し、リアルな日中の雰囲気を再現できます。

神秘的な雰囲気の演出:

スポットライトを使用して、特定のオブジェクトやエリアに光を当てます。
光線が霧や煙の中を透過し、幻想的な雰囲気を醸し出します。

ドラマチックな瞬間の演出:

シーンの中でキャラクターが光の中に立つ場面を強調します。
プレイヤーの視線を引きつけ、物語の重要な瞬間を際立たせることができます。

アクションゲームでの利用:

銃撃戦や爆発の際に、光線が銃口から放射される様子をリアルに表現できます
プレイヤーの視覚的な刺激を高め、臨場感を増すことができます。

プレイヤーの誘導:

プレイヤーはLightShaftがあると、LightShaftの先に無意識に目が行きがちです。
LightShaftの先にゲームで重要なアイテムを配置していると、ゲームシナリオをスムーズに導くことができます。

■M_LightShaft(NoiseVersion) 追記


光線にテクスチャで模様を入れるとさらにそれっぽくなります。

全体マテリアルブループリント


Noise箇所


エミッシブカラー箇所

ベースカラーではなく、エミッシブカラーにつなぐと、
光りますので、雰囲気がさらに上がります。


マテリアルインスタンスのパラメータ設定