Distance Fog

Distance Fog有効にする
参照用画像
ヒントとトリック:フォグの診断
StartFog設定
EndFog設定
フォグの密度を上げる
非常に短い可視性を得る
ダイナミックフォグエフェクト:砂漠の嵐 1
砂漠の嵐 2
動的パラメータの調整をスピードアップする方法
パルスダイナミック効果
水の色についてのバグを修正する方法

Distance Fog有効にする

Distance Fogを有効にするには、Script.txtに以下のコマンドを入力する必要があります。
[Level]
ForceVolumetricFX=DISABLED  ;VolumetricFXを無効にし、Distance Fogを有効にする
Fog=255,255,255    ;フォグの色を設定する
FogRange=-20, 10   ;Distance Fogの開始と終了の範囲を設定する
もちろん、FogコマンドとFogRangeコマンドに異なる値を設定することもできます。

このチュートリアルでは、上記のコマンドに関する設定を見ていきます。


参照用画像

image

上の画像は、異なるフォグ設定を適用するために使用したレベルです。
Cleopatre's Palaceの一部屋で、適用するフォグの設定との混乱を避けるために、すべてのライトとシャドウを削除しました。
すべての部屋には128、128、128の環境光があり、これはフォグの色との混乱を避けるためです。

ヒントとトリック:フォグの診断

image

Script.txtの[Option]セクションで診断を有効にした場合、Distance Fogに関する新しい値が表示されます。
StartFog、EndFog、およびフォグのすべてのRGBカラーを見ることができます。
この機能は、リアルタイムで最良のフォグ設定をするのに役立ちます。

フォグのすべての設定を変更するため、いくつかのショートカットがあります。

「S」キーはStartFogの値を変更します。Sキーを押し続けてF1キーを押してStartFogを減らすか、F2キーを押してそれを増やすことができます。
「E」キーはEndFogの値を変更します。Eキーを押し続けてF1キーを押すか、F2キーを押してEndFog値を変更することができます。
「R」、「G」、「B」キーは、赤、緑、青の強さを変更します。フォグの現在の色を変更することもできます。

ヒント:ダイナミックエフェクトを行う場合は、必要な結果を見つける前に多くの試行を行う必要があります。これらの試行の時間を短縮するには、「Perform TriggerGroup」トリガだけをレベルに置き、トリガをScript.txtに入力してダイナミックエフェクトを有効にしてください。
これでScript.txtだけを変更して[Build]をクリックすると、別の値で別の試行を実行できます。これはWAD出力とレベルコンバータでレベルを構築するよりも高速です。
詳しくは動的パラメータの調整をスピードアップする方法を参照してください。

StartFog設定

image

上記の画像は、色(Fog = 0,255,255)とEndFog(8セクター)の値が同じですが、唯一の違いはStartFog設定で設定されたフォグの開始点です。
左の画像では、開始点は-2(負の値)で、右は0です。
上記の画像を見ると、開始点に負の値を設定することが重要であることが理解できるでしょう。
右の画像のように0の値を入力すると、ララは完全にフォグの外に出てしまい、曇った環境では現実的ではありません。

EndFog設定

image

EndFogの設定(つまり、FogRangeコマンドに入力する2番目の値)は、フォグの密度を設定し、可視性を切り替えることができます。
上の画像では、EndFogは12で、前の一組の画像と比較することができます。この場合、部屋の向こうまで見ることができます。

上記画像の唯一の違いは、左画像の場合はフォグカラー(Fog = 0,255,255)、右画像の場合は黒色(Fog = 0,0,0)です。

黒の色を使用すると、その効果がDistance Fogであると容易に理解できませんが、ララが夜間に短い距離しか見ることができない(そう例えば月光の下のように)、屋外の夜間の雰囲気をシミュレートするのに理想的です。

フォグの密度を上げる

image

StartFogを変更して値を小さくすると、最もフォグの濃度が高くなります。
上の画像では、左にはStartFog= -2、右には-16が設定してあります。
EndFogは両方の画像(= 14)で同じですが、
右の画像のように、フォグの色がより多く見えても、EndFogは変更されていないため、(部屋の向こう)遠くの可視性はほぼ同じです。

非常に短い可視性を得る

image

EndFogの値(すなわちFogRangeコマンドの2つ目に入力した値)を大幅に下げると、ララ(およびプレイヤー)の可視性が非常に低くなります。
謎のレベルを探索するための示唆的な効果です。
フォグの範囲は、左画像の場合FogRange = -2,5、右画像の場合FogRange = -11,5です。
右画像では、深夜の効果をシミュレートすることができます。とは言え静止画でゲーム内の変化を理解することは容易ではありません。
ララの視界は非常に狭く、周囲の状況はすべて暗くなっています。ララは、いつも同じ狭い視界で動き、彼女は非常に近いものしか見えません。
この効果は、環境光を単純に減らしたり影の照明を増やすことよりも優れています。なぜなら、その場合暗い場所が常に同じ所になります。一方、黒い深いフォグの場合、ララは常に暗闇に邪魔されるため、彼女にはいつも少しの可視性しかありません。

ダイナミックフォグエフェクト:砂漠の嵐 1

image

バージョン1.2.1.0から、フリップエフェクトを追加しました。

「Weather. Fog. Change Start limit of Distance Fog in <&>way with (E)speed」
「Weather. Fog. Change End limit of Distance Fog in <&>way with (E)speed」
両方のフリップエフェクトは、一定の速度でランダム(またはパルス)モードでフォグ(StartまたはEndFog)のパラメータを変更します。
ランダムな方法を使う目的は、ララの前を通過する砂(または粉塵)によって、可視性が瞬時に変化する砂漠の嵐で起こるような、フォグの可変密度をシミュレートするためです。
正しい設定をすれば、周囲で動く雲を実際に実現することができます。風の音をバックグラウンドミュージックとして使用すると、さらなる効果をもたらします。

上記の画像は、フォグの密度を自動的に変化させる瞬間です。 この例では、このトリガが使用されています。
; <#> : Weather. Fog. Change Start limit of Distance Fog in <&>way with (E)speed
; <&> : RANDOM way - Huge Intensity (16 sectors)
; (E) : Middle  (3 seconds)
FogRange = -16,8の設定から開始します。
フォグ濃度を変更する最初の例では、StartFog値を修正しています。
StartFogで目に見えた結果を得るためには、広い範囲で使用すべきである。と覚えておくべきです(上記の例では「Huge Intensity (16 sectors)」を使用しました)が、EndFog値ではまた違ってきます。

砂漠の嵐 2

image

EndFog値を変更するトリガを使用して砂漠の嵐をシミュレートすると、

「Weather. Fog. Change End limit of Distance Fog in <&>way with (E)speed」

最初の例とは少し違ったバリエーションになります。上の画像を参照してください。
この場合、ララの前の領域は、非常に深い雲がララの前を移動したように、消えたり、再び現れたりします。

上記の効果を得るために、このトリガを使用しました。
; <#> : Weather. Fog. Change End limit of Distance Fog in <&>way with (E)speed
; <&> :  2 RANDOM way - Middle Intensity (2 sectors)
; (E) : 2.0 Fast   (2 seconds)
FogRange = -2,4の設定から開始します。

ダイナミックな方法でEndFogの値を変更すると、短い強度(ここでは「2セクター」を使用しました)を使うほうが良いでしょう。そうしないと、ゲームでは非常に奇妙な結果になることがあります。
おそらく、理想は両方の砂漠の嵐の効果を同時に使用することです。StartFogとEndFogを同時に修正すると、この嵐の中は、よりリアルな変化でプレイヤーを混乱させるはずです。

動的パラメータの調整をスピードアップする方法

ダイナミックエフェクトに必要な設定を見つけるには、多くの試行をしなければならないため、ちょっとしたトリックで時間を減らすことができます。
NGLEを開きフリップエフェクトを変更し、テキストファイルに書かれたTriggerGroupを実行するトリガだけをレベルに置きレベルを新たにコンバートします。
こうすればNGLEを起動して毎回レベルを構築する必要はなく、Script.txtファイルの設定だけを変更して、時間を大幅に節約できます。
エクスポートされたトリガを変更するには、最後の3つの数値で作業してください。
; Exporting: TRIGGER(769:0) for FLIPEFFECT(228)
; <#> : Weather. Fog. Change End limit of Distance Fog in <&>way with (E)speed
; <&> :  2 RANDOM way - Middle Intensity (2 sectors)
; (E) : 2.0 Fast   (2 seconds)
; Values to add in script command: $2000, 228, $301

TriggerGroup=1, $2000, 228, $301
レベルには、TriggerGroup = 1を実行するフリップエフェクトをおきます。
今度は、上記のエクスポートされたトリガの値を変更するには、すなわち、「<&> way」モードを変更するには、$301の数字の「1」を変更します。もし、「(E)Speed」を変更したい場合は、左から最初の桁を修正します(現在は「3」です)。

以下のリストを使用して、入力する値を見つけることができます。
「<&> Way」には、$で始まる3桁の右端の数字を入力します。


0: 1 RANDOM way - Low Intensity (1 sector)
1: 2 RANDOM way - Middle Intensity (2 sectors)
2: 4 RANDOM way - High Intensity (4 sectors)
3: 8 RANDOM way - Very high Intensity (8 sectors)
4:16 RANDOM way - Huge Intensity (16 sectors)
5:32 RANDOM way - Max Intensity (32 sectors)
8: 1 PULSE way - Low Intensity (1 sector)
9: 2 PULSE way - Middle Intensity (2 sectors)
A: 4 PULSE way - High Intensity (4 sectors)
B: 8 PULSE way - Very high Intensity (8 sectors)
C:16 PULSE way - Huge Intensity (16 sectors)
D:32 PULSE way - Max Intensity (32 sector)

一方、(E)speedは$で始まる3桁の左端の数字を入力します。

0:6.0 Very Slow (6 seconds)
1:4.0 Slow (4 seconds)
2:3.0 Middle (3 seconds)
3:2.0 Fast (2 seconds)
4:1.0 Very Fast (1 second)
5:0.5 Ultra Fast (0.5 seconds)

上のリストでは、「:」文字の左にある最初の文字を読み取る必要があります。
例えば、これらの設定でエフェクトを設定する場合は、

2: 4 RANDOM way - High Intensity (4 sectors)
and
4:1.0 Very Fast (1 second)

次のようにTriggerGroupの最後の数を変更します。

$402

「4」は「4:1.0 Very Fast(1 second)」を表し、「2」は「2: 4 RANDOM way - High Intensity(4 sectors)」を表すため、
したがって、上記の場合、TriggerGroupは次のようになります。
TriggerGroup=1,  $2000, 228, $402
最後に、[Build]ボタンをクリックし、新しい設定を試みるためにゲームを起動します。

パルスダイナミック効果

パルスモードについては、自然なイベントをシミュレートすることはお勧めできません。パルスモードでは、密度またはEndFogが最小値から最大値まで規則的に変化するためです。
このためパルスモードを使用すると、ミステリアスなマシン、エイリアン船やその他の機械エンジンに近い奇妙な光の効果をシミュレートすることができます。この場合砂漠の嵐の例のように、単純な白いフォグの色ではなく、色付きのフォグを使用する方がよいでしょう。

水の色についてのバグを修正する方法

image

Distance Fogを使用すると、すべての透明テクスチャでフォグの色がハレーションを起こすという問題があります。
このハレーションを修正するには、
[Level]セクション(または[Title]セクションですべてのレベルに適用する)に修正を有効にするコマンドを入力します。
Customize=CUST_FIX_WATER_FOG_BUG, ENABLED
上記のコマンドが存在すると、フォグは透明なテクスチャ、オブジェクト、または水のテクスチャでは削除されます。
image

オブジェクトの透明なテクスチャが正しい反射に戻り、水も正常に見えます。