Env model (GoldSrc): Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
Important:Env_models do not have any collision, and will not cast shadows with normal compilers. 
Workaround:A few options:
 
		
	
SirYodaJedi (talk | contribs)  (Created page with "{{stub}}{{DISPLAYTITLE:{{mono|env_model}}}} {{code|env_model}} is a point entity available in {{dod|4}}, originally found in Spirit of Half-Life. It is used to place a mod...")  | 
				SirYodaJedi (talk | contribs)   | 
				||
| (37 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{dod topicon}}  | ||
{{  | {{CD|CEnvModel|goldsrc=effects.cpp|base=CBaseAnimating}}  | ||
{{this is a|model entity|<!--sprite=1-->|name=env_model|game=Day of Defeat|game1=Cry of Fear|game2=Paranoia|game3=Spirit of Half-Life}}  | |||
{{  | It is used to place a model (usually an [[MDL (GoldSrc)|MDL]]) on a map, with optional animation and ''no collision''. In the official [[FGD]] file it is descibed as a "new alternative to cyclers".  | ||
{{workaround|Create a brush-based collision mesh and tie it to a{{ent|func_wall (GoldSrc)|alt=func_wall}} with {{code|renderamt}} set to 0.   | {{modernImportant|Env_models do not have any collision, and will not cast shadows with normal compilers. {{workaround|A few options:  | ||
==   | * Create a brush-based collision mesh and tie it to a {{ent|func_wall (GoldSrc)|alt=func_wall}} with {{code|renderamt}} set to 0 (aka invisible) ZHLT light flags to "Opaque", and {{code|zhlt_striprad}} set to 1 (aka enabled). This will also cast lightmap shadows, unless alphatest ({{code|{}}) textures are used.{{note|Will use up an extra [[edict]]; use sparingly.}}  | ||
===   | * Use NULL brushes on a func_detail, and ensure the env_model's origin is not inside of the brushes.  | ||
=== Flags ==  | * Use clip brushes. Note that clip brushes can be shot through, so this should only be done for certain niche situations. Additionally, this method will not cast lightmap shadows.{{note|NULL and clip brushes will use the default footstep sounds when stepped on; the func_wall method should be used for non-concrete surfaces, such as tanks or sandbags.}} }} }}  | ||
== Key Values ==  | |||
{{Hl1_kv_targetname}}  | |||
:{{note|In {{dod|2}}, unnamed env_models are made client-only after spawning. This means they only count as an [[edict]] for a split second upon loading the map or restarting the round.}}  | |||
{{KV_Angles}}  | |||
{{hl1 kv model|no sven=1}}  | |||
{{KV|Skin|not={{dod}}|intn=skin|int|Display different skins of the model if available.}}  | |||
{{KV|Body|intn=body|int|Display different sub-models of the model if available.}}  | |||
{{KV|Sequence when on|intn=m_iszSequence_On|string|Displays the animation sequence of the model when on.}}  | |||
{{KV|Behaviour when on|intn=m_iAction_On|choices|Behaviour of the model when on.}}  | |||
:{| class=standard-table  | |||
!| Value || Description  | |||
|-  | |||
| 0 || Freeze when sequence ends  | |||
|-  | |||
| 1 || Loop  | |||
|-  | |||
| 2 || Change state when sequence ends  | |||
|}  | |||
{{KV|Sequence when off|intn=m_iszSequence_Off|string|Displays the animation sequence of the model when off.}}  | |||
{{KV|Behaviour when off|intn=m_iAction_Off|choices|Behaviour of the model when off.}}  | |||
:{| class=standard-table  | |||
!| Value || Description  | |||
|-  | |||
| 0 || Freeze when sequence ends  | |||
|-  | |||
| 1 || Loop  | |||
|-  | |||
| 2 || Change state when sequence ends  | |||
|}  | |||
{{Hl1_kv_renderfields}}  | |||
{{Hl1 kv zhlt point}}  | |||
== Flags ==  | |||
{{fl|1|Initially Off|}}  | |||
{{fl|2|Drop to Floor|}}  | |||
== See also ==  | == See also ==  | ||
* {{ent|cycler_sprite|eng=goldsrc}} - Similar entity available in all {{  | * {{ent|cycler_sprite|eng=goldsrc}} - Similar entity available in all {{gldsrc|4}} games, without animation. Can display MDL and BSP models, despite its name. Most frequently used in {{cs|4}}; will not survive save-loads in singleplayer.  | ||
* {{ent|item_generic|eng=goldsrc}} - Equivalent entity in {{hlop4  | * {{ent|item_generic|eng=goldsrc}} - Equivalent entity in {{hlop4|4}}, {{czeror|4}}, and {{sven|4}}.  | ||
* {{ent|prop_dynamic}} - comparable entity in {{src|4}}  | * {{ent|prop_dynamic}} - comparable entity in {{src|4}}  | ||
Latest revision as of 07:50, 10 October 2025
| CEnvModel | 
env_model  is a   model entity  available in 
 Day of Defeat, 
 Cry of Fear, 
 Paranoia, and 
 Spirit of Half-Life.
It is used to place a model (usually an MDL) on a map, with optional animation and no collision. In the official FGD file it is descibed as a "new alternative to cyclers".
- Create a brush-based collision mesh and tie it to a func_wall with 
renderamtset to 0 (aka invisible) ZHLT light flags to "Opaque", andzhlt_stripradset to 1 (aka enabled). This will also cast lightmap shadows, unless alphatest ({) textures are used.
Note:Will use up an extra edict; use sparingly. - Use NULL brushes on a func_detail, and ensure the env_model's origin is not inside of the brushes.
 - Use clip brushes. Note that clip brushes can be shot through, so this should only be done for certain niche situations. Additionally, this method will not cast lightmap shadows.
Note:NULL and clip brushes will use the default footstep sounds when stepped on; the func_wall method should be used for non-concrete surfaces, such as tanks or sandbags. 
Key Values
- Name (targetname) <string>
 - The targetname that other entities refer to this entity by.
 
Note:In 
 Day of Defeat, unnamed env_models are made client-only after spawning. This means they only count as an edict for a split second upon loading the map or restarting the round.
- Pitch Yaw Roll (Y Z X) (angles) <QAngle>
 - This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
 
- Model (model) <model path>
 - Model to display (MDL, BSP, or SPR). Relative to mod folder.
 
- Colormap (colormap) <integer>
 - Works like the deathmatch recolor system, wherein this KV equals 
(bottomcolor * 256) + topcolor. This value can be calculated using
. 
- Skin (skin)  <integer> (not in 
) - Display different skins of the model if available.
 
- Body (body) <integer>
 - Display different sub-models of the model if available.
 
- Sequence when on (m_iszSequence_On) <string>
 - Displays the animation sequence of the model when on.
 
- Behaviour when on (m_iAction_On) <choices>
 - Behaviour of the model when on.
 
Value Description 0 Freeze when sequence ends 1 Loop 2 Change state when sequence ends 
- Sequence when off (m_iszSequence_Off) <string>
 - Displays the animation sequence of the model when off.
 
- Behaviour when off (m_iAction_Off) <choices>
 - Behaviour of the model when off.
 
Value Description 0 Freeze when sequence ends 1 Loop 2 Change state when sequence ends 
- Render FX (renderfx) <choices>
 - Render FX mode to use, for special effects.
 
Value Description 0 Normal 1 Slow Pulse 2 Fast Pulse 3 Slow Wide Pulse 4 Fast Wide Pulse 5 Slow Fade Away 6 Fast Fade Away 7 Slow Become Solid 8 Fast Become Solid 9 Slow Strobe 10 Fast Strobe 11 Faster Strobe 12 Slow Flicker 13 Fast Flicker 14 Constant Glow 15 Distort 16 Hologram (Distort + fade) 
- Render Mode (rendermode) <choices>
 - Render Mode to use.
 
Value Description 0 Normal 1 Color 2 Texture 3 Glow 4 Solid 5 Additive 
- Render Amount (0-255) (renderamt) <integer>
 - Controls transparency when using another render mode then normal. 0 is completely invisible, and 255 is opaque. If render mode is solid, then all values except 0 are opaque.
 - Render Color (R G B) (rendercolor) <color255>
 - Color to use by the specified render mode.
Also used on brush entities to control the speed of scrolling textures; see func_conveyor for more information. 
ZHLT:
- Copy lighting from (VHLT+) (zhlt_copylight) <targetname>
 - Copies the lighting from the named entity to the nearest lightmap luxel below this entity's origin.
 
Tip:To avoid having the copied lighting visibly affecting the brush lighting, put a 16x16x1 func_detail with zhlt_noclipenabled directly below this model's origin. Texture the top face withblack_HIDDEN, and the rest of the faces withSKIP.
Note:Not compatible with entities using the effect flag EF_INVLIGHT.
- Model shadows (UMHLT, SDHLT) (zhlt_studioshadow) <boolean>
 - Enable to cast shadows from MDLs found in the 
modelKV. 
- Model shadow mode (SDHLT) (zhlt_shadowmode) <choices>
 - 0 - Use Bounding Box
 - 1 - Use triangles (default)
 - 2 - Use Bounding boxes of triangles
 
Flags
- Initially Off : [1]
 
- Drop to Floor : [2]
 
See also
- cycler_sprite - Similar entity available in all 
 GoldSrc games, without animation. Can display MDL and BSP models, despite its name. Most frequently used in 
 Counter-Strike; will not survive save-loads in singleplayer. - item_generic - Equivalent entity in 
 Half-Life: Opposing Force, 
 Condition Zero Deleted Scenes, and 
 Sven Co-op. - prop_dynamic - comparable entity in 
 Source