VortWarp: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Oops, forgot one of the most important parameters.)
m (cleared up $entityorigin)
Line 7: Line 7:
; <code>$flowmap <[[texture]]></code>
; <code>$flowmap <[[texture]]></code>
: Flowmap to use.
: Flowmap to use.
; <code>$entityorigin <[[vector]]></code>
: The point which the model will be squished to. The entire model will try to be squished into that point. If unspecified becomes the world origin by default, [0 0 0]


; <code>$warpparam <[[float]]></code>
; <code>$warpparam <[[float]]></code>
: For models, causes the entire portion of the model that the material covers to squish itself inward. 1.0 will not perform any squishing, while lower values will cause the model to squish more and more, and 0.0 will make the model practically invisible.  On brushes, this doesn't do much.  {{TODO|Test on brushes more.}}
: Warping amount toward the specified $entityorigin. 1.0 leaves the model unaffected, lower values squish more, while 0.0 makes it practically invisible.
 
; <code>$entityorigin <[[vector]]></code>
: {{TODO|Find out what this is for.  Seems to be related to EntityOrigin proxy.}}.


{{TODO|Test on brushes more. Do they have an origin? Try with entity brushes (ex. func_brush). They have origins.}}
; <code>$selfillummap <[[texture]]></code>
; <code>$selfillummap <[[texture]]></code>
: A [[Glowing_Textures#.24selfillum_textures|$selfillummask]] to blend with the Flowmap.
: A [[Glowing_Textures#.24selfillum_textures|$selfillummask]] to blend with the Flowmap.

Revision as of 19:48, 4 February 2019

This is the shader used on the vortigaunts in the intro sequence in Half-Life 2: Episode One. It blends a Flowmap with a illumination mask, and creates a similar effect to how water uses Flowmaps in newer engine branches. The shader can be both used on brushes and models.

Shader parameters

$unlit <bool>
Whether or not the material should be lit.
$flowmap <texture>
Flowmap to use.
$entityorigin <vector>
The point which the model will be squished to. The entire model will try to be squished into that point. If unspecified becomes the world origin by default, [0 0 0]
$warpparam <float>
Warping amount toward the specified $entityorigin. 1.0 leaves the model unaffected, lower values squish more, while 0.0 makes it practically invisible.
Todo: Test on brushes more. Do they have an origin? Try with entity brushes (ex. func_brush). They have origins.
$selfillummap <texture>
A $selfillummask to blend with the Flowmap.

Supported effects

Example

Example showing the minimal needed parameters in order to make the shader work.

VortWarp
{

	$basetexture	lights/white
	$flowmap	shadertest/cloud

	$selfillummap	shadertest/lump
	$selfillumtint	"{ 200 15 0 }"

	$warpparam	1.0

}

See also