Point posecontroller: Difference between revisions
Jump to navigation
Jump to search
Note:The posecontroller resets the prop's default animations.
Bug:Using an invalid or non-existant Pose Parameter will crash the game. [todo tested in ?]
Bug:
Bug:The value must have a trailing decimal (such as .0), or it will completely break the pose controller. [todo tested in ?]
m (→Outputs) |
(don't see it only in source sdk base 2006) |
||
(23 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{CD|CPoseController|file1=point_posecontroller.cpp}} | ||
== | {{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.}} | |||
==Keyvalues== | {{bug|Using an invalid or non-existant Pose Parameter will crash the game.}} | ||
== Keyvalues == | |||
{{KV Targetname}} | |||
{{KV|Prop Name|intn=PropName|string|Name of the prop to control.}} | |||
{{bugfix|This keyvalue does not receive [[instance]] fixups, making the entity mostly unusable inside instances.|Change the keyvalue type from <code>string</code> to <code>target_destination</code> in the [[FGD]].}} | |||
{{KV|Pose Parameter Name|intn=PoseParameterName|string|Name of the pose parameter to control.}} | |||
{{KV|Pose Parameter Value|intn=PoseValue|float|Normalized value for the pose parameter from 0.0 and 1.0 (maps to min and max range).}} | |||
{{bug|<code>Pose Paramater Value</code> suffers from rounding or overflow errors.}} | |||
: <float | :{{clarify|What effect does this have?}} | ||
:{{workaround|Apparently, constantly setting a new value using <code>SetPoseValue</code> can be used as a workaround.}} | |||
{{KV|Interpolation Time|intn=InterpolationTime|float|Number of seconds (0.0 to 10.0) for client to match absolute pose values.}} | |||
{{bug|The value must have a trailing decimal (such as .0), or it will completely break the pose controller.}} | |||
{{KV|Should wrap from 0.0 to 1.0 when interpolating.|intn=InterpolationWrap|boolean|If set, wrap from 0.0 to 1.0 when interpolating.}} | |||
{{KV|Cycle Frequency|intn=CycleFrequency|float|Base cycles per second from -10.0 to 10.0.}} | |||
{{KV|Frequency Modulation Type|intn=FModulationType|choices|Control the way the interpolation blends between the poses.}} | |||
{| | :{| class=standard-table | ||
! | ! Value || Description | ||
|- | |- | ||
| 0 || None | | <code>0</code> || None | ||
|- | |- | ||
| 1 || Sine | | <code>1</code> || Sine | ||
|- | |- | ||
| 2 || Square | | <code>2</code> || Square | ||
|- | |- | ||
| 3 || Triangle | | <code>3</code> || Triangle | ||
|- | |- | ||
| 4 || Sawtooth | | <code>4</code> || Sawtooth | ||
|- | |- | ||
| 5 || Noise | | <code>5</code> || Noise | ||
|} | |} | ||
{{KV|Frequency Modulation Time Offset|intn=FModTimeOffset|float|Modulation time offset from -1.0f to 1.0.}} | |||
{{KV|Frequency Modulation Rate|intn=FModRate|float|Modulation cycles per second from -10.0f to 10.0.}} | |||
{{KV|Frequency Modulation Amplitude|intn=FModAmplitude|float|Modulation extents from 0.0f to 10.0.}} | |||
== Inputs == | |||
{{I|SetPoseParameterName|Sets the pose parameter to control.|param=string}} | |||
==Inputs== | {{I|SetPoseValue|Set the pose parameter to a normalized value between 0.0 and 1.0 (maps to min and max range).|param=float}} | ||
{{I|SetInterpolationTime|Set the interpolation time to a number of seconds between 0.0 and 10.0.|param=float}} | |||
{{I|SetCycleFrequency|Set the pose parameter's base cycles per second from -10.0f to 10.0.|param=float}} | |||
{{I|SetFModType|Set the type of frequency modulation.|param=integer}} | |||
{{I|SetFModTimeOffset|Set the modulation time offset from -1.0f to 1.0.|param=float}} | |||
{{I|SetFModRate|Set the modulation cycles per second from -10.0f to 10.0.|param=float}} | |||
{{I|SetFModAmplitude|Set the modulation extents from 0.0f to 10.0.|param=float}} | |||
{{I|RandomizeFMod|Randomize the frequency modulation by an extremeness of 0.0 to 1.0.|param=float}} | |||
{{I|GetFMod|Outputs the current modulation settings in console.}} {{Not in FGD}} | |||
Latest revision as of 18:38, 30 April 2025
![]() |
---|
CPoseController |
![]() |
point_posecontroller
is a logical entity available in all Source games since
Source 2007. It controls a pose parameter of a prop and cycles the pose clientside.


Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
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.
Fix:Change the keyvalue type from
string
totarget_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).

Pose Paramater Value
suffers from rounding or overflow errors. [todo tested in ?]- Clarify: What effect does this have?
Workaround: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.

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