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) |
||
(36 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}} | |||
{{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 06:55, 15 July 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 renderamt set to 0 (aka invisible) ZHLT light flags to "Opaque", and zhlt_striprad set 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.
- 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_noclip enabled directly below this model's origin. Texture the top face with black_HIDDEN, and the rest of the faces with SKIP.
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 model KV.
- 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