追加された行はこの色です。
削除された行はこの色です。
&youtube(https://www.youtube.com/watch?v=L9Ur5RGOZqg)
[[https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4]]
[[00:00>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m00s]] オープニング
[[00:29>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m29s]] 1.ポストプロセスマテリアルの作成[[↓>#002]]
[[00:39>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m39s]] 2.ポストプロセスボリュームの作成[[↓>#003]]
[[01:28>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=01m28s]] 3.ポストプロセスマテリアルの設定[[↓>#004]]
[[04:20>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=04m20s]] 4.ジッターの処理[[↓>#005]]
[[05:48>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m48s]] 設定ファイル[[↓>#006]]
[[05:53>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m53s]] エンディング
[[05:56>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m56s]] 視野を狭くしたり暗くしたりするメリットは?[[↓>#008]]
*1.ポストプロセスマテリアルの作成 [[00:29>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m29s]]&aname(002)
右クリック>マテリアル
名前を「PPM_SphereMask」にします。
*2.ポストプロセスボリュームの作成 [[00:39>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m39s]]&aname(003)
アクタを配置パネル>ビジュアルエフェクトより
ポストプロセスボリュームをレベルに配置します。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/59Rx_o_P_d.jpg,400)
詳細パネル>ポストプロセスボリューム設定で
Enabledを有効にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/CriKJsAStQ.jpg,400)
今回はレベル全体にポストプロセスを反映します。
Infinite Extentを有効にします。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/Ex1iO1KJcJ.jpg,400)
今回は暗闇で使用するので、
明暗順応を無効にします。
レンズ>Exposure>Min Ev100とMax Ev100を0.0にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/s6zTT280yT.jpg,400)
レンダリング機能>ポストプロセスマテリアル>Arrayでエレメントを追加します。
プルダウンメニューよりアセットリファレンスを選択します。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/1X9YqzwTNq.jpg,400)
エレメントに作成したポストプロセスマテリアルを指定します。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/P4e9U9PYJX.jpg,400)
後はお好みで!
*3.ポストプロセスマテリアルの設定 [[01:28>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=01m28s]]&aname(004)
PPM_SphereMaskをファイルを開きます。
詳細パネル>Material DomainをPost Processにします。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/CfgDuLQg1S.jpg,400)
SphereMaskノードを配置します。
SphereMaskノードは、距離計算に基づきスフィア状のマスク値を出力します。
マスク値は、ある1つの点を指定します。その点が境界の外側であれば0で内側なら1となります。
Aは、ある1つの点の座標を入れます。
絶対ワールド位置(AbsoluteWorldPosition)ノードをつなぎます。
絶対ワールド位置(AbsoluteWorldPosition)ノードはワールド座標を示してくれるノードです。
座標の値をそのまま受け取っているので、値は非常に大きいです。
Bは、スフィアの原点を入れます。
Camera PositionWSノードをつなぎます。
キャラクターのカメラをスフィアの原点として指定します。
Radiusは、スフィアの半径の値を入れます。
右クリックして変数へ昇格します。
値を1000と記入します。
Hardnessは、境界のぼかしの値を入れます。
0-1の範囲で指定します。
値を大きくすればするほど境界がはっきりします。
値を小さくすればするほど境界がボケます。
右クリックして変数へ昇格します。
値を0.0にします。
エミッシブカラーにつなぎます。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/JFbW1L0rzW.jpg,400)
保存して閉じます。
起動してみましょう。
キャラクターを中心にして、
スフィア状に内側は1.0/white(白)で、外側は0.0/black(黒)になりましたね、
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/D89caR7KlD.jpg,400)
PPM_SphereMaskを開きます。
黒と白を反転します。
1-xノードをつなぎます。
Scene Textureノード配置します。
詳細パネル>Scene Texture IdをPostProcessInput0にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/BGSjwYU6YD.jpg,400)
ComponentMaskノードをつなぎます。
展開してRGBにします。
3キーを押したままクリックして、3成分ベクターを配置します。
0.0:0.0:0.0にして、黒色にします。
Lerp(LinearInterPolate)ノードを配置します。
Lerp(LinearInterPolate)ノードは、
3つの入力値に基づいて2つの入力値をブレンドします。
アルファ値が0.0/black(黒)の場合は、最初の入力値が使用されます。
アルファ値が1.0/white(白)の場合は、2番目の入力値が使用されます。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/4q1_tAQFyZ.jpg,400)
AピンにScene Textureノードをつなぎます。
Bピンに黒色をつなぎます。
AlphaピンにSphereMaskノードをつなぎます。
何となくよく出てくるノードの形になりましたね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/0soQK5cCM1.jpg,400)
保存して閉じます。
起動してみましょう。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/cJnfjlDCru.jpg,400)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/IyWfHmhJGr.jpg,400)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/4PZG0Lnn8x.jpg,400)
*4.ジッターの処理 [[04:20>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=04m20s]]&aname(005)
近くで見るとキャラクターがプルプルしてますね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/ZtAWqwVxJo.jpg,400)
PPM_SphereMaskを開きます。
詳細パネル>ポストプロセスマテリアル>Blendable Locatiuonを
After Tonemappingから
Befor Tonemappingに変更します。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/FrjXtwXv3i.jpg,400)
これは
描画処理工程の中で
ポストプロセスの処理工程を最後にするのか最初にするかですね。
Befor Tonemappingにして最初にポストプロセスの処理工程を持ってきます。
保存して閉じます。
起動してみましょう。
プルプルが無くなりましたね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/G5Cx8fYfFg.jpg,400)
*設定ファイル [[05:48>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m48s]]&aname(006)
**PPM_SphereMask(暗闇表現)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/qDEH7PPL7w.png,400)
*視野を狭くしたり暗くしたりするメリットは? [[05:56>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m56s]]&aname(008)
**緊迫感と没入感の向上:
暗い場面や狭い空間は、ホラーゲームやサスペンスゲームの雰囲気を高めるのに適しています。
プレイヤーに恐怖感や不安感を与え、物語の緊張感を増幅させます。
**集中力の向上:
視野を狭くすることで、プレイヤーは周囲の情報に集中しやすくなります。
敵の位置や隠れているアイテムを見逃さないようにするため、プレイヤーはより注意深くプレイします。
**戦術的な判断と戦闘スキルの向上:
狭い視野では、敵の位置を正確に把握するために戦術的な判断が必要です。
プレイヤーは隠れた敵を見つけるために音や動きに敏感になり、戦闘スキルを高めることができます。
**パフォーマンスの向上:
視野を狭くすることで、ゲームエンジンは描画する範囲を減らすため、処理負荷が軽減されます。
[[https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4]]
[[00:00>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m00s]] オープニング
[[00:29>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m29s]] 1.ポストプロセスマテリアルの作成[[↓>#002]]
[[00:39>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m39s]] 2.ポストプロセスボリュームの作成[[↓>#003]]
[[01:28>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=01m28s]] 3.ポストプロセスマテリアルの設定[[↓>#004]]
[[04:20>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=04m20s]] 4.ジッターの処理[[↓>#005]]
[[05:48>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m48s]] 設定ファイル[[↓>#006]]
[[05:53>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m53s]] エンディング
[[05:56>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m56s]] 視野を狭くしたり暗くしたりするメリットは?[[↓>#008]]
*1.ポストプロセスマテリアルの作成 [[00:29>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m29s]]&aname(002)
右クリック>マテリアル
名前を「PPM_SphereMask」にします。
*2.ポストプロセスボリュームの作成 [[00:39>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=00m39s]]&aname(003)
アクタを配置パネル>ビジュアルエフェクトより
ポストプロセスボリュームをレベルに配置します。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/59Rx_o_P_d.jpg,400)
詳細パネル>ポストプロセスボリューム設定で
Enabledを有効にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/CriKJsAStQ.jpg,400)
今回はレベル全体にポストプロセスを反映します。
Infinite Extentを有効にします。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/Ex1iO1KJcJ.jpg,400)
今回は暗闇で使用するので、
明暗順応を無効にします。
レンズ>Exposure>Min Ev100とMax Ev100を0.0にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/s6zTT280yT.jpg,400)
レンダリング機能>ポストプロセスマテリアル>Arrayでエレメントを追加します。
プルダウンメニューよりアセットリファレンスを選択します。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/1X9YqzwTNq.jpg,400)
エレメントに作成したポストプロセスマテリアルを指定します。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/P4e9U9PYJX.jpg,400)
後はお好みで!
*3.ポストプロセスマテリアルの設定 [[01:28>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=01m28s]]&aname(004)
PPM_SphereMaskをファイルを開きます。
詳細パネル>Material DomainをPost Processにします。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/CfgDuLQg1S.jpg,400)
SphereMaskノードを配置します。
SphereMaskノードは、距離計算に基づきスフィア状のマスク値を出力します。
マスク値は、ある1つの点を指定します。その点が境界の外側であれば0で内側なら1となります。
Aは、ある1つの点の座標を入れます。
絶対ワールド位置(AbsoluteWorldPosition)ノードをつなぎます。
絶対ワールド位置(AbsoluteWorldPosition)ノードはワールド座標を示してくれるノードです。
座標の値をそのまま受け取っているので、値は非常に大きいです。
Bは、スフィアの原点を入れます。
Camera PositionWSノードをつなぎます。
キャラクターのカメラをスフィアの原点として指定します。
Radiusは、スフィアの半径の値を入れます。
右クリックして変数へ昇格します。
値を1000と記入します。
Hardnessは、境界のぼかしの値を入れます。
0-1の範囲で指定します。
値を大きくすればするほど境界がはっきりします。
値を小さくすればするほど境界がボケます。
右クリックして変数へ昇格します。
値を0.0にします。
エミッシブカラーにつなぎます。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/JFbW1L0rzW.jpg,400)
保存して閉じます。
起動してみましょう。
キャラクターを中心にして、
スフィア状に内側は1.0/white(白)で、外側は0.0/black(黒)になりましたね、
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/D89caR7KlD.jpg,400)
PPM_SphereMaskを開きます。
黒と白を反転します。
1-xノードをつなぎます。
Scene Textureノード配置します。
詳細パネル>Scene Texture IdをPostProcessInput0にします。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/BGSjwYU6YD.jpg,400)
ComponentMaskノードをつなぎます。
展開してRGBにします。
3キーを押したままクリックして、3成分ベクターを配置します。
0.0:0.0:0.0にして、黒色にします。
Lerp(LinearInterPolate)ノードを配置します。
Lerp(LinearInterPolate)ノードは、
3つの入力値に基づいて2つの入力値をブレンドします。
アルファ値が0.0/black(黒)の場合は、最初の入力値が使用されます。
アルファ値が1.0/white(白)の場合は、2番目の入力値が使用されます。
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/4q1_tAQFyZ.jpg,400)
AピンにScene Textureノードをつなぎます。
Bピンに黒色をつなぎます。
AlphaピンにSphereMaskノードをつなぎます。
何となくよく出てくるノードの形になりましたね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/0soQK5cCM1.jpg,400)
保存して閉じます。
起動してみましょう。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/cJnfjlDCru.jpg,400)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/IyWfHmhJGr.jpg,400)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/4PZG0Lnn8x.jpg,400)
*4.ジッターの処理 [[04:20>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=04m20s]]&aname(005)
近くで見るとキャラクターがプルプルしてますね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/ZtAWqwVxJo.jpg,400)
PPM_SphereMaskを開きます。
詳細パネル>ポストプロセスマテリアル>Blendable Locatiuonを
After Tonemappingから
Befor Tonemappingに変更します。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/FrjXtwXv3i.jpg,400)
これは
描画処理工程の中で
ポストプロセスの処理工程を最後にするのか最初にするかですね。
Befor Tonemappingにして最初にポストプロセスの処理工程を持ってきます。
保存して閉じます。
起動してみましょう。
プルプルが無くなりましたね。
&ref(https://image01.seesaawiki.jp/s/o/seasidejetcity-memo/G5Cx8fYfFg.jpg,400)
*設定ファイル [[05:48>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m48s]]&aname(006)
**PPM_SphereMask(暗闇表現)
&ref(https://image02.seesaawiki.jp/s/o/seasidejetcity-memo/qDEH7PPL7w.png,400)
*視野を狭くしたり暗くしたりするメリットは? [[05:56>>https://youtu.be/L9Ur5RGOZqg?si=k80LLF5XhpBRveO4&t=05m56s]]&aname(008)
**緊迫感と没入感の向上:
暗い場面や狭い空間は、ホラーゲームやサスペンスゲームの雰囲気を高めるのに適しています。
プレイヤーに恐怖感や不安感を与え、物語の緊張感を増幅させます。
**集中力の向上:
視野を狭くすることで、プレイヤーは周囲の情報に集中しやすくなります。
敵の位置や隠れているアイテムを見逃さないようにするため、プレイヤーはより注意深くプレイします。
**戦術的な判断と戦闘スキルの向上:
狭い視野では、敵の位置を正確に把握するために戦術的な判断が必要です。
プレイヤーは隠れた敵を見つけるために音や動きに敏感になり、戦闘スキルを高めることができます。
**パフォーマンスの向上:
視野を狭くすることで、ゲームエンジンは描画する範囲を減らすため、処理負荷が軽減されます。