Model entity/Generic Keyvalues, Inputs and Outputs/Keyvalues: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(KV_SystemLevelChoice)
(Removed (Moved) documentation away this page; ParserFunctions now consistent with KV_BaseEntity; Corrected 'Glow Backface' to show it only exists in L4D2; Moved "Render Mode" to below "Render FX"; and other things that can't be crammed in this text box)
Line 1: Line 1:
<noinclude>{{back|Template:KV_BaseEntity}}
<includeonly>{{minititle|Model}}
 
This template is our holder for all [[keyvalues]] that are assigned through {{ent|CBaseAnimating}}. The template has a very specific syntax that you must follow to apply properly, because new games have added new features throughout the years. See [[Help:Templates]] for more info on named parameters.
'''No parameters:''' display only keyvalues available for ALL games.
<pre>{{KV BaseAnimating}}</pre>
'''Base:''' display keyvalues in a fashion that assumes the entity's orgin game's engine is older than {{l4d}}.
<pre>{{KV BaseAnimating|base=1}}</pre>
'''Game as a parameter:''' display the keyvalues that <code>base</code> displays, AND keyvalues that were added to the class, by the specified game. You can specify as many games as needed. You must specify ALL the games you want to include (e.g. <code>l4d2</code> will not automatically include <code>l4d</code> keyvalues as well). This is because there are situations like in Portal 2, where the output <code>OnKilled</code> is not available through {{ent|CBaseEntity}}, despite being a far descendant of the L4D branch which added it.
<pre>{{KV BaseAnimating|portal2=1}}</pre>
 
All parameters for this template:
*<code>base</code> - Assumes the entity's game belongs to an engine older than the {{l4d}} branch (E.g. {{portal}}, {{tf2}}, {{hl2}}), then hides notes about games past it.
*<code>portal</code>and<code>src13</code> - Both will cross strike out certain keys that don't exist in their own games. (Specifically the {{not|{{portal}}}} and {{not|{{src13}}}})
*<code>l4d</code> - Show {{l4d}} only key quirks. and display keys added since {{l4d}}.
*<code>l4d2</code> - Show {{l4d2}} only key quirks, and display keys present since {{l4d2}}.
*<code>as</code> - Display keys present since {{as}}.
*<code>portal2</code> - Display keys present since {{portal2}}.
{{note|If you want to edit something on this template, please make sure you edit it in both places. ''Per-game'' keyvalues are duplicated, for complex technical reasons.}}
For full documentation on this family of templates, see [[FGD Template Prototype]]. Still confused on something? '''Ask for help''' before editing this template.
{{note|Some keyvalues in this template are actually defined by <code>CBaseEntity</code>. We have listed them here instead because those specific keyvalues were rather un-universal (for example <code>renderfx</code>, which would not have any practical use on point entities that are never seen, or on triggers), and putting them on every entity page would only cause confusion and clutter, the exact opposite goal in mind with this series of templates.}}
__TOC__
[[Category:Keyvalue Templates|Global]]
{{KV BaseAnimating}}
</noinclude><includeonly>{{minititle|Model}}
{{KV|World Model|intn=model|string|The [[model]] this entity should appear as. 128-character limit.}}
{{KV|World Model|intn=model|string|The [[model]] this entity should appear as. 128-character limit.}}
{{KV|[[Skin]]|intn=skin or ModelSkin {{as}}|int|Some models have multiple skins. This value selects from the index, starting with 0.}}
{{KV|[[Skin]]|intn=skin or ModelSkin {{as}}|int|Some models have multiple skins. This value selects from the index, starting with 0.}}
{{KV|Collisions|intn=solid|choices|Method of collision for this entity.
{{KV|Collisions|intn=solid|choices|Method of collision for this entity.
:*0: None
:*0: None
:*1: BSP ([[QPhysics]]) {{not in FGD}} {{#if:{{{base|}}}||{{bug|In {{game link|Portal 2}}, if an entity using QPhysics collisions is hit by [[Gel]], the game will crash!}} {{confirm|Does this apply to brush entities?}}}}
:*1: BSP ([[QPhysics]]) {{Not in FGD}} {{bug|In {{portal2}}, if an entity using QPhysics collisions is hit by [[Gel]], the game will crash!}}
:*2: [[Bounding box|Bounding Box]]
:*2: [[Bounding box|Bounding Box]]
:*3: [[Bounding box|Oriented Bounding Box]] {{not in FGD}}
:*3: [[Bounding box|Oriented Bounding Box]] (Use for runtime spawned rotated brush entities) {{Not in FGD}}
:*4: [[Bounding box|Oriented Bounding Box]], constrained to Yaw only {{not in FGD}}
:*4: [[Bounding box|Oriented Bounding Box]], constrained to [[QAngle|Yaw]] only {{Not in FGD}}
:*5: Custom/Test {{not in FGD}}
:*5: Custom/Test (Usually no collision with anything) {{Not in FGD}}
:*6: [[VPhysics]]
:*6: [[VPhysics]]
}}
| }}
{{KV|[[Hitbox]] Set|intn=hitboxset|string|Sets the [[$hboxset]] to use.|nofgd=1}}
{{KV|[[Hitbox]] Set|intn=hitboxset|string|Sets the [[$hboxset]] to use.|nofgd=1}}
{{KV|Body Group|intn=body or SetBodyGroup|int|Sets the the active [[$bodygroup]].|nofgd=1}}
{{KV|Body Group|intn=body or SetBodyGroup|int|Sets the the active [[$bodygroup]].|nofgd=1}}
{{KV|Model Index|intn=modelindex|short|Changes the entity's model to a precached model on the map.|nofgd=1}}
<!-- We should make a new page for "model index"? -->
:{{warning|Using an invalid value will instantly crash the game, this includes 0 and 1.}}
{{KV|Model Index|intn=modelindex|short|Given the number index from dumping the<code>cl_precacheinfo modelprecache</code>table, sets entity model to of the index. {{warning|If an entity has animations that ''will be'' played, then the set model also must have its own sequences, else the game crashes.}}|nofgd=1}}
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|not={{portal}} {{l4ds}} {{src13}}|}}
:{{warning|Negative or extremely high values can cause crashes!}}
<!--
<!--
   ++ Model Scale ++
   ++ Animating ++
-->
-->
<!-- IF: L4D or L4D2 -->{{#if:{{{portal|}}}{{{l4d|}}}{{{l4d2|}}}{{{src13|}}}|
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|deprecated=1|not={{portal}} {{l4ds}} {{src13}}|}}
|<!-- ELSE IF: BASE -->{{#if:{{{base|}}}|
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|not={{portal}}{{l4d}}}}
|<!-- ELSE: -->
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|not={{portal}}{{l4ds}}{{src13}}|}}
}}}}
:{{warning|Negative or extremely high values can cause crashes!}}
<h4>Animating</h4>
<h4>Animating</h4>
{{KV|Sequence|intn=sequence|int|Default animation sequence for the model to be playing after spawning.|nofgd=1}}
{{KV|Sequence|intn=sequence|int|Default animation sequence for the model to be playing after spawning.|nofgd=1}}
{{KV|Playback Rate|intn=playbackrate|float|A multiplier of the [[framerate]] at which animations are played, negative values are accepted. Default is 1.0|nofgd=1}}
{{KV|Playback Rate|intn=playbackrate|float|A multiplier of the [[framerate]] at which animations are played, negative values are accepted. Default is 1.0|nofgd=1}}
{{KV|Cycle|intn=cycle|float|The current frame of the currently playing animation, on a range from 0-1.|nofgd=1}}
{{KV|Cycle|intn=cycle|float|The current frame of the current animation, on a range from 0-1.|nofgd=1}}
{{KV|Texture Frame|intn=texframeindex|int|The frame number for any animated textures on this entity.|nofgd=1}}
{{KV|Texture Frame|intn=texframeindex|int|The initial frame number for all animated textures on this entity.|nofgd=1}}
<!-- {{KV|Damage Filter Name|intn=damagefilter|targetname|When this entity receives damage, it will [[filter]] by this entity.}} doesn't belong here -->
<!-- {{KV|Damage Filter Name|intn=damagefilter|targetname|When this entity receives damage, it will [[filter]] by this entity.}} doesn't belong here -->
<!--
  ++ Effects - Render ++
-->
<h3>Effects - Render</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
<h3>Effects - Render</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
{{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a [[3D Skybox]].}}
{{KV|Fade Scale|intn=fadescale|float|If specified in the {{ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{ent|$noforcedfade}}.}}
{{KV|Fade Scale|intn=fadescale|float|If specified in the {{ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{ent|$noforcedfade}}.}}
{{KV|[[Render Mode]]|intn=rendermode|choices|Set a non-standard rendering mode on this entity.}}
{{ExpandBox|
:*'''0''': Normal
:*'''1''': Color
:*'''2''': Texture
:*'''3''': Glow
:*'''4''': Solid/Alphatest
:*'''5''': Additive
:*'''6''': Removed, does nothing
:*'''7''': Additive Fractional Frame
:*'''8''': Alpha Add
:*'''9''': World Space Glow
:*'''10''': Don't Render}}
{{KV|Render FX / Transparency (0 - 255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}}
{{KV|Render FX / Transparency (0 - 255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}}
{{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}}
{{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}}
Line 98: Line 59:
:*'''24:''' Fade Wider Pulse
:*'''24:''' Fade Wider Pulse
:*'''26:''' Fade Near
:*'''26:''' Fade Near
:{{todo|18-21, 25}}}}
:{{todo|18-21, 25}}}}{{KV|[[Render Mode]]|intn=rendermode|choices|Set a non-standard rendering mode on this entity.}}
{{ExpandBox|
:*'''0''': Normal
:*'''1''': Color
:*'''2''': Texture
:*'''3''': Glow
:*'''4''': Solid/Alphatest
:*'''5''': Additive
:*'''6''': Removed, does nothing
:*'''7''': Additive Fractional Frame
:*'''8''': Alpha Add
:*'''9''': World Space Glow
:*'''10''': Don't Render}}
<h3>Effects - Environment</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
<h3>Effects - Environment</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
{{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}}
{{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}}
{{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}}
{{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}}
{{KV|Shadow Cast Distance|intn=shadowcastdist|int|Sets how far the entity casts dynamic shadows. 0 means default distance from the [[shadow_control]] entity.}}
{{KV|Shadow Cast Distance|intn=shadowcastdist|int|Sets how far the entity casts dynamic shadows. 0 means default distance from the [[shadow_control]] entity.}}
:{{note|Further research needed for this key, as inconsistencies like unavailability for [[prop_dynamic]] in {{src13}} exists.}}
{{KV|Lighting Origin|intn=LightingOrigin|targetname|Select an entity (not{{ent|info_lighting}}entity!) from which to sample lighting instead of the entity's [[origin]].}}
{{KV|Lighting Origin|intn=LightingOrigin|targetname|Select an entity (not{{ent|info_lighting}}entity!) from which to sample lighting instead of the entity's [[origin]].}}
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4ds}}|nofgd=1}}
<!--
<!--
   ++ LightingOriginHack ++
   ++ Misc ++
Game Specific Configs
-->
-->
<!-- IF: L4D or L4D2 -->{{#if:{{{l4d|}}}{{{l4d2|}}}|
<!-- IF: L4D -->{{#if:{{{l4d|}}}|
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4ds}}|deprecated=1|nofgd=1}}
<h3>Miscellaneous</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
|<!-- ELSE IF: BASE -->{{#if:{{{base|}}}|
{{KV SystemLevelChoice}}
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4d}}|nofgd=1}}
| <!-- ELSE IF: L4D2 -->{{#if:{{{l4d2|}}}|
|<!-- ELSE: -->
<h3>Miscellaneous</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4ds}}|nofgd=1}}
{{KV|Glow Backface Multiple|intn=glowbackfacemult|float|nofgd=1|If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.|only={{l4d2}}}}
}}}}
{{KV SystemLevelChoice}}
<!-- IF: PORTAL2 -->{{#if:{{{portal2|}}}|
| <!-- ELSE IF: AS -->{{#if:{{{as|}}}|
<h3>Miscellaneous</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
{{KV|Move Type|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior.
{{ExpandBox|
:*'''0''': None, don't move
:*'''1''': Isometric
:*'''2''': Walk, player only, moving on ground
:*'''3''': NPC, movement
:*'''4''': Fly, no gravity
:*'''5''': Fly, with gravity
:*'''6''': Physics
:*'''7''': Push
:*'''8''': [[Noclip]]
:*'''9''': Ladder, for players on ladders
:*'''10''': Spectator
:*'''11''': Custom}}
|since={{as}}|nofgd=1}}
{{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior.
{{ExpandBox|
:*'''0''': None
:*'''1''': Debris, collides only with the world and static props
:*'''2''': Debris, with trigger interaction
:*'''3''': Interactive Debris, doesn't collide with other debris
:*'''4''': Interactive, collides with everything except debris
:*'''5''': Player
:*'''6''': Breakable Glass
:*'''7''': Vehicle
:*'''8''': Player Movement
:*'''9''': In-Vehicle
:*'''10''': Weapon
:*'''11''': Vehicle Clip
:*'''12''': Projectile
:*'''13''': Door blocker, not permitted to go near doors
:*'''1''': Passable Door
:*'''15''': Dissolving
:*'''16''': Pushaway
:*'''17''': NPC Actor, NPCs ignore the player
:*'''18''': NPC Scripted, NPCs do not collide with each other}}
|since={{as}}|nofgd=1}}
{{KV SystemLevelChoice}}
| <!-- ELSE IF: NOT BASE [PORTAL2] -->{{#if:{{{base|}}}||
{{KV|Disable Flashlight|intn=disableflashlight|boolean|Used to disable [[env_projectedtexture|projected texture]] lighting and shadows on this entity.|since=P2}}
{{KV|Disable Flashlight|intn=disableflashlight|boolean|Used to disable [[env_projectedtexture|projected texture]] lighting and shadows on this entity.|since=P2}}
{{KV|Disable ShadowDepth|intn=disableshadowdepth|boolean|Makes this entity not cast a shadow from{{ent|env_projectedtexture}}entities.|since=P2}}
{{KV|Disable ShadowDepth|intn=disableshadowdepth|boolean|Makes this entity not cast a shadow from{{ent|env_projectedtexture}}entities.|since=P2}}
{{KV|Projected Texture Cache|intn=shadowdepthnocache|choices|Used to hint [[env_projectedtexture|projected texture system]] whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.|since=P2}}
{{KV|Projected Texture Cache|intn=shadowdepthnocache|choices|Used to hint [[env_projectedtexture|projected texture system]] whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.
:*0: Default
:*0: Default
:*1: No cache - render every frame
:*1: No cache - render every frame
:*2: Cache it - render only once
:*2: Cache it - render only once
| }}
|since=P2}}
<!--
<h3>Miscellaneous</h3>{{style|border-bottom:1px solid #3A3937;display:block|}}
  ++ Misc - SystemLevelChoice ++
-->
<!-- IF: L4D -->{{#if:{{{l4d|}}}{{{l4d2|}}}{{{as|}}}{{{portal2|}}}|
<h3>Miscellaneous</h3>
{{KV SystemLevelChoice}}
| }}
<!--
  ++ Misc - Game Specific Niches ++
-->
<!-- IF: L4D2 OR AS OR PORTAL2 -->{{#if:{{{l4d2|}}}{{{as|}}}{{{portal2|}}}|
{{KV|Glow Backface Multiple|intn=glowbackfacemult|float|nofgd=1|If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.|since=L4D2}}
| }}<!-- IF: AS -->{{#if:{{{as|}}}|
{{KV|Move Type|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior.
{{KV|Move Type|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior.
{{ExpandBox|
{{ExpandBox|
Line 149: Line 151:
:*'''9''': Ladder, for players on ladders
:*'''9''': Ladder, for players on ladders
:*'''10''': Spectator
:*'''10''': Spectator
:*'''11''': Custom
:*'''11''': Custom}}
}}
|since={{as}}|nofgd=1}}
|since=AS|nofgd=1}}
{{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior.
{{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior.
{{ExpandBox|
{{ExpandBox|
Line 157: Line 158:
:*'''1''': Debris, collides only with the world and static props
:*'''1''': Debris, collides only with the world and static props
:*'''2''': Debris, with trigger interaction
:*'''2''': Debris, with trigger interaction
:*'''''': Interactive Debris, doesn't collide with other debris
:*'''3''': Interactive Debris, doesn't collide with other debris
:*'''4''': Interactive, collides with everything except debris
:*'''4''': Interactive, collides with everything except debris
:*'''5''': Player
:*'''5''': Player
Line 172: Line 173:
:*'''16''': Pushaway
:*'''16''': Pushaway
:*'''17''': NPC Actor, NPCs ignore the player
:*'''17''': NPC Actor, NPCs ignore the player
:*'''18''': NPC Scripted, NPCs do not collide with each other
:*'''18''': NPC Scripted, NPCs do not collide with each other}}
}}
|since={{as}}|nofgd=1}}
|since=AS|nofgd=1}}
| }}<!-- IF: PORTAL2 -->{{#if:{{{portal2|}}}|
{{KV|No Animation Sounds|intn=SuppressAnimSounds|boolean|Silences sounds linked to animations.|since=P2|nofgd=1}}
{{KV|No Animation Sounds|intn=SuppressAnimSounds|boolean|Silences sounds linked to animations.|since=P2|nofgd=1}}
| }}</includeonly>
{{KV SystemLevelChoice}}
| }}}}}}}}</includeonly>
<noinclude>
{{documentation}}
<!-- Add categories to the /doc subpage, not here -->
</noinclude>

Revision as of 05:00, 6 June 2021


English (en)Deutsch (de)Esperanto (eo)Español (es)Français (fr)Suomi (fi)Hrvatski (hr)Magyar (hu)Italiano (it)日本語 (ja)한국어 (ko)Nederlands (nl)Polski (pl)Português (pt)Português do Brasil (pt-br)Русский (ru)Slovenčina (sk)Svenska (sv)Türkçe (tr)Українська (uk)Tiếng Việt (vi)中文 (zh)中文(臺灣) (zh-tw)
Icon-translate.png Available doc translations
Info.png
The Model entity/Generic Keyvalues, Inputs and Outputs/Keyvalues/doc documentation page does not exist.
English documentation will be displayed instead, which you can translate using Google Translate (or similar software). If there is nothing after this message, most likely the documentation does not exist even in English.
Model entity/Generic Keyvalues, Inputs and Outputs/Keyvalues/doc