$staticprop: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Page re-write; added information about $bodygroup issues.)
mNo edit summary
Line 1: Line 1:
{{otherlang2|ru=$staticprop:ru}}
{{lang|$staticprop|title=<code>$staticprop</code>}}


The [[QC command]] <code>'''[[$staticprop]]'''</code> specifies that the model being compiled does not have any moving parts.
The [[:Category:QC_Commands|QC command]] <code>[[$staticprop]]</code> specifies that the model being compiled does not have any moving parts.
 
== Intended Usage ==


==Intended Usage==
Using the command is primarily meant to optimize props meant for ''maps'', as it provides benefits to [[lightmap]] shadows during [[VRAD]] compiles and the commands for it such as <code>-staticproplighting</code> or <code>-staticproppolys</code> commands.
Using the command is primarily meant to optimize props meant for ''maps'', as it provides benefits to [[lightmap]] shadows during [[VRAD]] compiles and the commands for it such as <code>-staticproplighting</code> or <code>-staticproppolys</code> commands.


It will also allow the prop to be used as a <code>[[prop_static]]</code> [[point entity]] in maps, as using props without the flag on standard compilers will remove it when [[VBSP]] is run.
It will also allow the prop to be used as a <code>[[prop_static]]</code> [[point entity]] in maps, as using props without the flag on standard compilers will remove it when [[VBSP]] is run.


=== Caveats ===
===Caveats===
 
Using the static flag command will cause issues in certain circumstances.
Using the static flag command will cause issues in certain circumstances.


Line 19: Line 17:
Essentially, ''do not'' use <code>$staticprop</code> unless the model is meant for a map or otherwise static prop, as it can cause issues when used on a prop meant to be used in-game.
Essentially, ''do not'' use <code>$staticprop</code> unless the model is meant for a map or otherwise static prop, as it can cause issues when used on a prop meant to be used in-game.


== Example==
==Example==
 
$staticprop
<source lang=qc>
$staticprop
</source>


[[Category:QC Commands|s]]
[[Category:Modeling]]
[[Category:QC_Commands]]
[[Category:Glossary]]

Revision as of 22:42, 28 May 2021

English (en)Русский (ru)Translate (Translate)

The QC command $staticprop specifies that the model being compiled does not have any moving parts.

Intended Usage

Using the command is primarily meant to optimize props meant for maps, as it provides benefits to lightmap shadows during VRAD compiles and the commands for it such as -staticproplighting or -staticproppolys commands.

It will also allow the prop to be used as a prop_static point entity in maps, as using props without the flag on standard compilers will remove it when VBSP is run.

Caveats

Using the static flag command will cause issues in certain circumstances.

It will remove all bones, and replace all weighted vertices' weights to a new "dummy" bone created during compile named static_prop. If used on a model that has multiple animations or sequences, it will remove all of them. Be aware of this if the prop is intended to be animated, and use prop_dynamic instead.

Using the static flag will also cause models to be error prone at times. Models with large numbers of body groups will potentially crash the game, throw an error when compiled, and break the blank command in body groups.

Essentially, do not use $staticprop unless the model is meant for a map or otherwise static prop, as it can cause issues when used on a prop meant to be used in-game.

Example

$staticprop