$controller: Difference between revisions
Jump to navigation
Jump to search
Note:You can't assign more than 6 controllers to a single bone.
m (Robot: fixing template case.) |
No edit summary |
||
Line 1: | Line 1: | ||
Creates a channel to manually set a single axis position or angle on a bone. Not recommended for use, mostly these exist since Half-Life 1 used them. | Creates a channel to manually set a single axis position or angle on a bone. Not recommended for use, mostly these exist since Half-Life 1 used them. | ||
{{Note|You can't assign more than 6 controllers to a single bone.}} | |||
== Syntax == | == Syntax == |
Revision as of 03:02, 10 September 2011
Creates a channel to manually set a single axis position or angle on a bone. Not recommended for use, mostly these exist since Half-Life 1 used them.

Syntax
$controller <number> "<bone_name>" [L]<axis>[R] <start_angle> <end_angle>
where
- <number>
- The number of the controller (you may need multiple controllers). Todo: confirm that you can also use "mouth" for <number> as it represents the value 1, this is hard-coded in studiocompiler.
- <bone_name>
- the name of the bone to control.
- <axis>
- The axis can be either X, Y, or Z. You need to specify a new controller for each axis of rotation.
- [L]
- The prefix L on the axis specifies that this controller loops back around to the start when it ends (see example below).
- [R]
- The suffix R specifies the angles are in
radians instead of degrees (see example below).
- <start_angle>
- the offset start angle of the rotation in degrees (or radians).
- <end_angle>
- the offset end angle of the rotation in degrees (or radians).
Example
$modelname "npcs/robot.mdl" $cdmaterials "models/npcs/" $model "Robot" "robot.smd" $controller 1 "jaw" X 0 20 $controller 2 "tracker" LYR -1 1 $sequence "idle" "idle.smd"
Todo: confirm syntax of "tracker"