This article's documentation is for anything that uses the Source engine. Click here for more information.

Point posecontroller: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Updated old entity format to {{this is a}}. This action was perfomed by a bot.)
(don't see it only in source sdk base 2006)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{CD|CPoseController|file1=point_posecontroller.cpp}}
{{CD|CPoseController|file1=point_posecontroller.cpp}}
{{this is a|name=point_posecontroller|e0|since=Half-Life 2: Episode Two}} It controls a [[$poseparameter|pose parameter]] of a prop and cycles the pose clientside.
{{this is a|logical entity|name=point_posecontroller|since=Source 2007}} It controls a [[$poseparameter|pose parameter]] of a prop and cycles the pose clientside.
{{note|The posecontroller resets the prop's default animations.}}
{{note|The posecontroller resets the prop's default animations.}}
{{bug|Using an invalid or non-existant Pose Parameter will crash the game.}}
{{bug|Using an invalid or non-existant Pose Parameter will crash the game.}}
Line 38: Line 38:


== Inputs ==
== Inputs ==
{{IO|SetPoseParameterName|Sets the pose parameter to control.|param=string}}
{{I|SetPoseParameterName|Sets the pose parameter to control.|param=string}}
{{IO|SetPoseValue|Set the pose parameter to a normalized value between 0.0 and 1.0 (maps to min and max range).|param=float}}
{{I|SetPoseValue|Set the pose parameter to a normalized value between 0.0 and 1.0 (maps to min and max range).|param=float}}
{{IO|SetInterpolationTime|Set the interpolation time to a number of seconds between 0.0 and 10.0.|param=float}}
{{I|SetInterpolationTime|Set the interpolation time to a number of seconds between 0.0 and 10.0.|param=float}}
{{IO|SetCycleFrequency|Set the pose parameter's base cycles per second from -10.0f to 10.0.|param=float}}
{{I|SetCycleFrequency|Set the pose parameter's base cycles per second from -10.0f to 10.0.|param=float}}
{{IO|SetFModType|Set the type of frequency modulation.|param=integer}}
{{I|SetFModType|Set the type of frequency modulation.|param=integer}}
{{IO|SetFModTimeOffset|Set the modulation time offset from -1.0f to 1.0.|param=float}}
{{I|SetFModTimeOffset|Set the modulation time offset from -1.0f to 1.0.|param=float}}
{{IO|SetFModRate|Set the modulation cycles per second from -10.0f to 10.0.|param=float}}
{{I|SetFModRate|Set the modulation cycles per second from -10.0f to 10.0.|param=float}}
{{IO|SetFModAmplitude|Set the modulation extents from 0.0f to 10.0.|param=float}}
{{I|SetFModAmplitude|Set the modulation extents from 0.0f to 10.0.|param=float}}
{{IO|RandomizeFMod|Randomize the frequency modulation by an extremeness of 0.0 to 1.0.|param=float}}
{{I|RandomizeFMod|Randomize the frequency modulation by an extremeness of 0.0 to 1.0.|param=float}}
{{IO|GetFMod|Outputs the current modulation settings in console.}} {{Not in FGD}}
{{I|GetFMod|Outputs the current modulation settings in console.}} {{Not in FGD}}

Latest revision as of 18:38, 30 April 2025

C++ Class hierarchy
CPoseController
CBaseEntity
C++ point_posecontroller.cpp

point_posecontroller is a logical entity available in all Source Source games since Source 2007 Source 2007. It controls a pose parameter of a prop and cycles the pose clientside.

Note.pngNote:The posecontroller resets the prop's default animations.
Icon-Bug.pngBug:Using an invalid or non-existant Pose Parameter will crash the game.  [todo tested in ?]

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Prop Name (PropName) <string>
Name of the prop to control.
Icon-Bug.pngBug:This keyvalue does not receive instance fixups, making the entity mostly unusable inside instances.  [todo tested in ?]
Note.pngFix:Change the keyvalue type from string to target_destination in the FGD.
Pose Parameter Name (PoseParameterName) <string>
Name of the pose parameter to control.
Pose Parameter Value (PoseValue) <float>
Normalized value for the pose parameter from 0.0 and 1.0 (maps to min and max range).
Icon-Bug.pngBug:Pose Paramater Value suffers from rounding or overflow errors.  [todo tested in ?]
Clarify: What effect does this have?
PlacementTip.pngWorkaround:Apparently, constantly setting a new value using SetPoseValue can be used as a workaround.
Interpolation Time (InterpolationTime) <float>
Number of seconds (0.0 to 10.0) for client to match absolute pose values.
Icon-Bug.pngBug:The value must have a trailing decimal (such as .0), or it will completely break the pose controller.  [todo tested in ?]
Should wrap from 0.0 to 1.0 when interpolating. (InterpolationWrap) <boolean>
If set, wrap from 0.0 to 1.0 when interpolating.
Cycle Frequency (CycleFrequency) <float>
Base cycles per second from -10.0 to 10.0.
Frequency Modulation Type (FModulationType) <choices>
Control the way the interpolation blends between the poses.
Value Description
0 None
1 Sine
2 Square
3 Triangle
4 Sawtooth
5 Noise
Frequency Modulation Time Offset (FModTimeOffset) <float>
Modulation time offset from -1.0f to 1.0.
Frequency Modulation Rate (FModRate) <float>
Modulation cycles per second from -10.0f to 10.0.
Frequency Modulation Amplitude (FModAmplitude) <float>
Modulation extents from 0.0f to 10.0.

Inputs

SetPoseParameterName <stringRedirectInput/string>
Sets the pose parameter to control.
SetPoseValue <floatRedirectInput/float>
Set the pose parameter to a normalized value between 0.0 and 1.0 (maps to min and max range).
SetInterpolationTime <floatRedirectInput/float>
Set the interpolation time to a number of seconds between 0.0 and 10.0.
SetCycleFrequency <floatRedirectInput/float>
Set the pose parameter's base cycles per second from -10.0f to 10.0.
SetFModType <integerRedirectInput/integer>
Set the type of frequency modulation.
SetFModTimeOffset <floatRedirectInput/float>
Set the modulation time offset from -1.0f to 1.0.
SetFModRate <floatRedirectInput/float>
Set the modulation cycles per second from -10.0f to 10.0.
SetFModAmplitude <floatRedirectInput/float>
Set the modulation extents from 0.0f to 10.0.
RandomizeFMod <floatRedirectInput/float>
Randomize the frequency modulation by an extremeness of 0.0 to 1.0.
GetFMod
Outputs the current modulation settings in console. !FGD