func_water_analog
Language subpage
This subpage is used on the Func water analog page to display content in English.
If you have edited the language subpage, do not forget to purge the base page by clicking on the button on the right. Otherwise, its contents will not be updated.
class hierarchy |
---|
CFuncMoveLinear defined in func_movelinear.cpp
|
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.
Only two materials are known to render correctly across all systems, these are nature/water_movingplane
and nature/water_dx70
. Expensive water shaders are required to be unmoving, because they have to always be certain of what can/should be drawn in surface reflections. Cheap water does not reflect the world, therefore it will never encounter the visibility problem.
Note:The
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.Bug:There are bugs that may arise when parenting this entity to any of these:
func_movelinear
, momentary_door
, func_lookdoor
, func_water_analog
. A func_door
can be used as a workaround.- Code Fix: See here for a code fix.
- Confirm:Might be fixed in Portal 2? Parented movelinears are used extensively for this game's piston platforms.
Bug:In , parenting a
move_rope
or keyframe_rope
will cause the entities to disappear. Clarification required if the rope entities are deleted or are simply not rendered.Contents
Flags
FuncMoveLinear:
- 8: Not Solid
Bug:Physics objects cannot be constrained to this entity when this flag is enabled.
Keyvalues
Targetname:
- Name
(targetname)
<string> - The targetname that other entities refer to this entity by.
FuncMoveLinear:
- Move Direction (Pitch Yaw Roll) (movedir)
(???)
<angle> - The direction the entity will move in.
- Start Position (startposition)
(???)
<float> - Position of brush when spawned, where 0 is the starting position and 1 is starting position + (move direction * move distance).
- Speed (speed)
(???)
<integer> - The speed that the brush moves, in inches per second.
- Move Distance (movedistance)
(???)
<float> - The distance from the starting point that the brush should move, in inches.
- Block Damage (blockdamage)
(???)
<float> - The amount of damage to do to any entity that blocks the brushes, per frame.
Bug:Block damage doesn't function on players who passed through a
trigger_teleport
using noclip
, though it will have effect again if the the player goes through a trigger_teleport without noclip.- Sound played when the brush starts moving. (startsound)
(???)
<sound> - The sound to play when the brush starts moving.
- Sound played when the brush stops moving. (stopsound)
(???)
<sound> - The sound to play when the brush stops moving.
- 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
- Wave Height
(WaveHeight)
<string>
Internal keyvalues used by VRAD:
VisibleBrush:
- Render Mode
(rendermode)
<choices> - Set a non-standard rendering mode on this entity.
- Render FX
(renderfx)
<choices> - Various somewhat legacy alpha effects.
Bug:Alpha effects from 0 to 10 are unavailable due to the bug in code in Counter-Strike: Global Offensive
|
- Render FX / Transparency (0–255)
(renderamt)
<integer 0–255> - Transparency amount; requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
- Render Color (R G B)
(rendercolor)
<color255> - Color tint.
- Texture Frame
(texframeindex)
<integer> !FGD - The frame number for any animated textures on this entity.
Shadow:
- Disable Shadows
(disableshadows)
<boolean> - Prevents the entity from creating cheap render-to-texture shadows, or lightmap shadows if the entity is a
prop_static
. Does not affect shadow mapping.
- Disable Receiving Shadows
(disablereceiveshadows)
<boolean> - Prevent the entity from receiving dynamic shadows on itself.
- Shadow Cast Distance
(shadowcastdist)
<integer> !FGD - Sets how far the entity casts dynamic shadows. 0 means default distance from the
shadow_control
entity. - Disable ShadowDepth
(disableshadowdepth)
<boolean> (in all games since ) - Used to disable rendering into shadow depth (for projected textures) for this entity.
- Disable flashlight
(disableflashlight)
<boolean> (in all games since ) - Used to disable projected texture lighting and shadows on this entity.
- Projected Texture Cache
(shadowdepthnocache)
<choices> (in all games since ) - Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.
|
SystemLevelChoice:
- Minimum / Maximum Effect Details Level
(mincpulevel / maxcpulevel)
<choices> (in all games since ) - Don't render for players with Effect Details levels that exceed the minimum or maximum.[Key names are related to
cpu_level
cvar used by Effect Details.]
|
- Minimum / Maximum Shader Details Level
(mingpulevel / maxgpulevel)
<choices> (in all games since ) - Don't render for players with Shader Details levels that exceed the minimum or maximum.[Key names are related to
gpu_level
cvar used by Shader Details.]
|
DXLevelChoice:
- Minimum / Maximum DX Level
(mindxlevel / maxdxlevel)
<choices> (removed since ) - The entity will not exist if the engine is running outside the given range of DirectX Versions.
Warning:If these are used, the object may break when the user switches their DirectX settings.
|
Inputs
FuncMoveLinear:
Open
- Move the brush to the end position (starting position + (move direction * move distance)).
Close
- Move the brush to the starting position.
SetPosition
<float>- Move the brush to a specific position, where 0 is the starting position and 1 is the starting position + (move direction * move distance).
SetSpeed
<float>- Set the speed and update immediately.
Visible Brush:
Alpha
<integer 0–255>- Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode (rendermode) set to a number other than
0
.
AlternativeSorting
<boolean>- Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials.
Color
<color255>- Sets an RGB color for the entity.
SetDamageFilter
<targetname>- Sets a filter for this entity for when it receives damage.
EnableDamageForces
- Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done).
DisableDamageForces
- Prevents the entity from being pushed by damage done to it.
EnableDraw
(in all games since )- Removes
EF_NODRAW
from the entity.
DisableDraw
(in all games since )- Applies
EF_NODRAW
to the entity. Note that this is different fromrendermode 10
.
EnableReceivingFlashlight
(in all games since )- Makes it so that the entity is lit by
env_projectedtexture
s.
DisableReceivingFlashlight
(in all games since )- Prevents the entity from being lit by
env_projectedtexture
s. The shadow made by the texture will still cast.
Reflection:
DisableDrawInFastReflection
(in all games since )- Turns off rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
EnableDrawInFastReflection
(in all games since )- Turn on rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
Shadow:
DisableShadow
- Turn dynamic shadows off for this entity. Identical to applying
EF_NOSHADOW
.
EnableShadow
- Turn dynamic shadows on for this entity.
DisableReceivingFlashlight
(in all games since )- This object will not receive light or shadows from projected textures.
Outputs
FuncMoveLinear:
OnFullyOpen
- Fired when the brush reaches the end position (starting position + (move direction * move distance)).
OnFullyClosed
- Fired when the brush reaches the starting position.