Making a wall of water

From Valve Developer Community
Revision as of 10:19, 21 March 2009 by TomEdwards (talk | contribs) (recat and style)
Jump to navigation Jump to search
Water with LightmappedGeneric.

In some cases, create a wall of water is a solution. However, the water shader can not do that, it is limited to a flat surface, not vertically. LightmappedGeneric can be used to mimic most of the Water shader's features to remedy the problem.

You can simulate the reflections with cubemaps, fog, only with the material's "bottom", but no refractions. Like the water shader you have to use 2 VMT. The normal water $bumpmap will be used.

VMT top

For $basetexture, an image created in Photoshop with a cloud filter should make an alpha channel using the desired transparency. You can then export to a file. VTF used under Source with the right tools.

"$basetexture" generated under Photoshop.

LightmappedGeneric
{
	%compilewater 1
	$abovewater 1
	$surfaceprop water
	$bottommaterial ...
	$basetexture dev/water_moving	// base texture that you made earlier
	$bumpmap dev/water_normal	// bump map
	$translucent 1
	$envmap env_cubemap
	$envmaptint "[1 .9 .8]"
	$envmapcontrast 1
	$fogenable 1
	$fogcolor "[1 1 1]"
	$fogstart 0
	$fogend 50

	Proxies
	{
		AnimatedTexture
		{
			animatedtexturevar $basetexture
			animatedtextureframenumvar $frame
			animatedtextureframerate 21
		}
		AnimatedTexture
		{
			animatedtexturevar $bumpmap
			animatedtextureframenumvar $bumpframe
			animatedtextureframerate 21
		}
	}
}

You will notice that $basetexture is animated when he is just an image. This is necessary to get $bumpmap animated too.

VMT Bottom

LightmappedGeneric
{
	$basetexture ...
	$translucent 1
	$fogenable 1
	$fogcolor "[1 1 1]"
	$fogstart 0
	$fogend 300
}

Template:Otherlang:en Template:Otherlang:en:fr