func_water_analog
Jump to navigation
Jump to search

Important:Does not work with the Water shader.
Refract can be used as a workaround for dynamic refraction with cubemapped reflections, although Valve does not provide any materials which do this.
Existing materials which are compatible include:
Confirm:Does the Water shader work if using cubemap reflections and refractions, instead of the real-time versions? This would still be beneficial for the ability to have two normal maps scrolling in different directions.
Bug:Water must be part of the world in 
Left 4 Dead series otherwise it doesn't work properly and acts as non-solid brush.
Note:The
Bug:There are bugs that may arise when parenting this entity to any of these: func_movelinear, func_lookdoor, func_water_analog. A func_door (or for func_water_analog, func_water) can be used as a workaround. (see here for a code fix)[
Code Fix]
Confirm:Might be fixed in Portal 2? Parented movelinears are used extensively for this game's piston platforms.
Code:Both
Note:Other
| CFuncMoveLinear |
func_water_analog is a brush entity available in all
Source games. It's a version of func_movelinear slightly specialized for use as water.
Water entity notes (edit):
Refract can be used as a workaround for dynamic refraction with cubemapped reflections, although Valve does not provide any materials which do this.
Existing materials which are compatible include:

nature/water_movingplane.vmt(LightmappedGeneric)
nature/water_dx70.vmt(LightmappedGeneric)
nature/hazard_liquid.vmt(LightmappedGeneric) (only in
)
liquids/!greenslime.vmt(UnlitTwoTexture) (only in
)
CFuncMoveLinear notes (edit):
SetPosition input and Start Position keyvalue do not perform any bounds checking, so values less than 0 and greater than 1 can be used. Negative values will move in the opposite direction to the movement direction, and values greater than 1 will move it in multiples of the set Move Distance. Moving past the opened/closed position does not trigger the OnFullyOpen and OnFullyClosed outputs.
func_water_analog and func_movelinear are linked to CFuncMoveLinear C++ class. The game code checks the classname KV to distinguish between them.Keyvalues
- Water Material (WaterMaterial) <material> (only in
) - The material to derive water information from. Determines $underwateroverlay that use func_water_analog.
Bug:Don't work after reload. You still can repeat this effect with trigger and env_screenoverlay.
Keyvalues / Inputs / Outputs are same as func_movelinear.