De/Lightmapped 4WayBlend.: Difference between revisions
TheBlokker (talk | contribs) (Translate To German) |
TheBlokker (talk | contribs) m (Adding English Lang) |
||
Line 1: | Line 1: | ||
{{otherlang2 | |||
|en=Lightmapped 4WayBlend | |||
}} | |||
{{Shader multi|Lightmapped_4WayBlend|game1=Counter-Strike: Global Offensive|game2=Black Mesa}} Es ist ein [[shader:de|Shader]] die die Ecken mischt von [[displacement:de|Displacement]] Oberfläche zwischen vier verschiedenen Materialien. Es verarbeitet vier auf einmal, indem es gespiegelte Parametersätze mit "2", "3" oder "4" in ihrem Namen verwendet. | {{Shader multi|Lightmapped_4WayBlend|game1=Counter-Strike: Global Offensive|game2=Black Mesa}} Es ist ein [[shader:de|Shader]] die die Ecken mischt von [[displacement:de|Displacement]] Oberfläche zwischen vier verschiedenen Materialien. Es verarbeitet vier auf einmal, indem es gespiegelte Parametersätze mit "2", "3" oder "4" in ihrem Namen verwendet. | ||
Revision as of 09:03, 25 February 2022
Lightmapped_4WayBlend
is a material shader available in the following Source engine games:
Counter-Strike: Global Offensive ,
Black Mesa . Es ist ein Shader die die Ecken mischt von Displacement Oberfläche zwischen vier verschiedenen Materialien. Es verarbeitet vier auf einmal, indem es gespiegelte Parametersätze mit "2", "3" oder "4" in ihrem Namen verwendet.
Die ersten 2 Texturen können Bumpmaps haben wie WorldVertexTransition Wenn Sie eine Envmap verwenden und maskieren möchten, sollten Sie die Alphakanäle der Basistexturen verwenden und $basealphaenvmapmask. Dieser Shader unterstützt nicht $normalmapalphaenvmapmask in .Sie können eine verwenden $envmapmask Textur, aber Sie müssen es von Hand malen, um es dem gewünschten Ergebnis anzupassen.
Als Ersatz für das Ältere Multiblend Shader, wurde es eingeführt für die Karte cs_insertion.


$normalmapalphaenvmapmask
in 


Beispiel
Lightmapped_4WayBlend { "$basetexture" "brick_a" "$bumpmap" "brick_a_normal" "$texture1_lumstart" "0.0" "$texture1_lumend" "0.5"
"$basetexture2" "brick_a" "$ssbump" "1" "$bumpmap2" "brick_a_normal" "$surfaceprop" "concrete" "$texture2_lumstart" "0.0" "$texture2_lumend" "0.5" "$texture2_blendmode" "0" "$texture2_blendstart" "0.8" "$texture2_blendend" "0.9" "$texture2_uvscale" "[1.0 1.0]" "$texture2_bumpblendfactor" "0.7"
"$basetexture3" "brick_a_bottom_grime" "$texture3_blendmode" "0" "$texture3_uvscale" "[2.0 2.0]" "$texture3_lumstart" "0.0" "$texture3_lumend" "0.05" "$texture3_blendstart" "0.8" "$texture3_blendend" "1.0" "$texture3_bumpblendfactor" "0.7"
"$basetexture4" "brick_a_top_grime" "$texture4_blendmode" "0" "$texture4_uvscale" "[2.0 2.0]" "$texture4_lumstart" "0.0" "$texture4_lumend" "0.2" "$texture4_blendstart" "0.90" "$texture4_blendend" "0.99" "$texture4_bumpblendfactor" "0.3"
"$detail" "detail\noise_detail_01" "$detailscale" "[ 32 32 ]" "$detailblendfactor" "0.7" "$detailblendfactor2" "0.4" "$detailblendfactor3" "0.2" "$detailblendfactor4" "0.2"
"$lumblendfactor2" "0.5" "$lumblendfactor3" "0.7" "$lumblendfactor4" "0.4" }
Steuern des Mischens
[Image:SculptBlendDialog 4WayBlend.jpg|thumb|right|250px|Die Blend-Tools im Displacement Sculpt-Fenster.]] Das Muster der Überblendung wird durch Hammers scuplt fenster-Überblendwerkzeug definiert (siehe Bild rechts). Die Texturvorschau in Hammer erfordert, dass Sie zusätzliche VMT-Dateien für jede Textur einrichten, die im Dialogfeld angezeigt werden soll. Diese werden vom Shader selbst nicht verwendet. Die Funktionen Alpha Blend und Color Blend dieses Dialogs sind bei Verwendung von 4WayBlend deaktiviert, sie werden nur vom Material Multiblend:de verwendet.
Die Mischung kann zwischen einem linearen Farbverlauf und einem realistischeren Aussehen abgestimmt werden, indem die Luminanz jeder Basistextur durch Parameter angepasst wird. Dies geschieht mit einfacher Mathematik im Shader und vermeidet das Erfordernis zusätzlicher Texturen.
Luminanz anpassen
Die Parameter lumstart und lumend passen den Luminanzwert mit a in einen nutzbaren Bereich an smoothstep. (Englisch)
luminance = smoothstep( lumstart, lumend, luminanceof(basetexture) )
Sie können sich dies als Anpassung des Kontrasts der Luminanz vorstellen. Im Allgemeinen benötigen Sie mehr Kontrast, um eine interessantere Mischung zu erhalten.

Luminanzmischung
Beim Mischen einer bestimmten Ebene können Sie wählen, ob Sie die Luminanz dieser Ebene oder die Umkehrung der gemischten Luminanz der darunter liegenden Ebenen verwenden möchten. Dies geschieht mit den lumblendfactor-Parametern.
Vertex Blend Modulieren
Die resultierende Luminanz wird verwendet, um den Vertex-Mischwert mit dieser Formel zu modulieren:
blend = vertexblend * luminance + vertexblend
.
Die Scheitelpunktmischung ist das, was Sie mit dem Mischwerkzeug im Hammer malen.
Mischung anpassen
Schließlich wird das Ergebnis dieser Formel durch einen weiteren smoothstep (Englisch) mit den Parametern blendstart und blendend angepasst.
blend = smoothstep( blendstart, blendend, blend )
Sie können sich dies als Anpassen der Schärfe der Überblendung vorstellen.
Parameter
Die meisten dieser Parameter haben Gegenstücke, die auf die erste, zweite, dritte oder vierte Schicht eines Materials angewendet werden können. Der Kürze halber wird dies gegebenenfalls durch 1
bis 4
angezeigt. Beachten Sie, dass das Fehlen von 1 bedeutet, dass an dieser Stelle einfach keine Zahl stehen sollte, wenn dies für die Verwendung mit der ersten Schicht vorgesehen ist.
$basetexture
$surfaceprop
$surfacepropalpha
$surfacepropalphafilter
$bumpmap
$ssbump
$basenormalmap2
$seamless_scale
$texture1_lumstart
$texture1_lumend
$texture1_uvscale
$texture2_blendstart
$texture2_blendend
$texture2_blendmode
$texture2_bumpblendfactor
$detail
$detailblendfactor
$lumblendfactor2