Prop dynamic

From Valve Developer Community
Revision as of 10:05, 13 September 2015 by Bombcartographer (talk | contribs) (→‎Keyvalues: Added information about model scale and problems associated with it.)
Jump to navigation Jump to search

Template:Base point It is used to add an arbitrary model to the world that can animate itself and move between positions.

A prop_dynamic cannot move around on its own however: it must be parented to an entity that can. For instance, to create a functional Razortrain you would parent the various engines and carriages, as prop_dynamic, to an invisible func_tracktrain brush entity.

Dynamic props receive "point lighting": one value, re-sampled every frame, is applied to the entire model. point_spotlights (per-vertex) and env_projectedtextures (per-pixel) can overcome this.

Tip.pngTip:If your model is never going to move and/or requires detailed lighting, consider using prop_static (which is cheaper).
Note.pngNote:To enforce consistency, models with embedded physics data cannot by default be used by prop_dynamic. Use the Hammer model browser's Info tab to check for support. If you intend to use a physics model in non-physics role, use prop_dynamic_override.

Uses

  • Buttons can be created by enveloping a prop_dynamic inside an invisible func_button brush, then using the SetAnimation input to play a switching animation.
  • Similarly, levers can be created by enveloping a prop_dynamic inside a func_rot_button (or momentary_rot_button) brush. No animation needed this time - the brush will rotate the prop by itself.
  • A prop_dynamic can be configured to break apart after receiving damage or on cue by using the Break input.
    Icon-Bug.pngBug:Health set inside the model will override health set in Hammer!  [todo tested in ?]

See also

Keyvalues

Template:KV PropDynamicBase

Model Scale modelscale <float> A multiplier for the size of the model. Setting this can cause the game to hang for ten seconds at the start of and in between rounds in a TF2 Special Delivery map. Using a logic_relay to set the scale after a delay seems to prevent this. As an input, it takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over.

Flags

Template:Fl PropDynamicBase

Inputs

Template:I PropDynamicBase

Outputs

Template:O PropDynamicBase