Moderator elections are being held. See Valve Developer Community:Moderator elections for more details.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
Func water analog
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.
Important:Does not work with materials using real time reflections and/or refractions, as seen in
Use a material which uses a regular brush shader, such as:
Water
and Refract
.Use a material which uses a regular brush shader, such as:
nature/water_movingplane.vmt
(LightmappedGeneric)nature/water_dx70.vmt
(LightmappedGeneric)nature/hazard_liquid.vmt
(LightmappedGeneric) (only in )liquids/!greenslime.vmt
(UnlitTwoTexture) (only in )
Confirm: Do the Water and Refract shaders 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:If this entity uses multiple brushes - VPhysics objects works incorrectly with this entity (the same for
func_water
) in Black Mesa. It looks like they are using this entity's BBox to calculate physics, instead of using brushes. This issue can be found in Interloper chapter. Separate water into several separate entities to avoid this bug.
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:
- Minimum Light Level
(_minlight)
<normal> - Minimum amount of light to hit this brush (monochromatic). Values over 1 are overbright, and will bloom in HDR mode.
- Shadows
(vrad_brush_cast_shadows)
<boolean> (in all games since ) - Determines if this entity will cast lightmap shadows.
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.