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 ?]
mNo edit summary |
(don't see it only in source sdk base 2006) |
||
(16 intermediate revisions by 8 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.}} | |||
{{bug|Using an invalid or non-existant Pose Parameter will crash the game.}} | |||
== Keyvalues == | == Keyvalues == | ||
{{KV|Prop Name|string|Name of the prop to control.}} | {{KV Targetname}} | ||
{{KV|Pose Parameter Name|string|Name of the pose parameter to control.}} | {{KV|Prop Name|intn=PropName|string|Name of the prop to control.}} | ||
{{KV|Pose Parameter Value|float|Normalized value for the pose parameter from 0.0 and 1.0 (maps to min and max range).}} | {{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|Interpolation Time|float|Number of seconds (0.0 to 10.0) for client to match | {{KV|Pose Parameter Name|intn=PoseParameterName|string|Name of the pose parameter to control.}} | ||
{{KV|Should wrap from 0.0 to 1.0 when interpolating.|boolean|If set, wrap from 0.0 to 1.0 when interpolating.}} | {{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).}} | ||
{{KV|Cycle Frequency|float|Base cycles per second from -10.0 to 10.0.}} | {{bug|<code>Pose Paramater Value</code> suffers from rounding or overflow errors.}} | ||
{{KV|Frequency Modulation Type|choices}} | :{{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 | :{| class=standard-table | ||
! Value || Description | ! Value || Description | ||
Line 24: | Line 33: | ||
| <code>5</code> || Noise | | <code>5</code> || Noise | ||
|} | |} | ||
{{KV|Frequency Modulation Time Offset|float|Modulation time offset from -1.0f to 1.0.}} | {{KV|Frequency Modulation Time Offset|intn=FModTimeOffset|float|Modulation time offset from -1.0f to 1.0.}} | ||
{{KV|Frequency Modulation Rate|float|Modulation cycles per second from -10.0f to 10.0.}} | {{KV|Frequency Modulation Rate|intn=FModRate|float|Modulation cycles per second from -10.0f to 10.0.}} | ||
{{KV|Frequency Modulation Amplitude|float|Modulation extents from 0.0f to 10.0. | {{KV|Frequency Modulation Amplitude|intn=FModAmplitude|float|Modulation extents from 0.0f to 10.0.}} | ||
== Inputs == | == Inputs == | ||
{{ | {{I|SetPoseParameterName|Sets the pose parameter to control.|param=string}} | ||
{{ | {{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 | {{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