Class HumanMuscleJointLimits
Anatomical joint-limit data for all 95 Unity Humanoid muscle channels (indices 0-94).
Each entry maps a muscle index to: • Min / Max — realistic anatomical range in Unity's normalized muscle space (-1 to 1) • Neutral — natural rest-pose value (almost always 0) • Label — compact human-readable description of what the muscle controls • Group — anatomical group name (e.g. "Spine", "Left Arm", "Left Fingers")
Index → muscle mapping (sourced from Unity HumanTrait / InitializeBoneToMuscleMapping): 0-2 Spine 3-5 Chest 6-8 Upper Chest 9-11 Neck 12-14 Head 15-20 Face (eyes, jaw) 21-28 Left Leg 29-36 Right Leg 37-38 L Shoulder 39-41 L Upper Arm 42-43 L Forearm 44-45 L Wrist 46-47 R Shoulder 48-50 R Upper Arm 51-52 R Forearm 53-54 R Wrist 55-74 Left Fingers (Thumb 55-58, Index 59-62, Middle 63-66, Ring 67-70, Little 71-74) 75-94 Right Fingers (Thumb 75-78, Index 79-82, Middle 83-86, Ring 87-90, Little 91-94)
Available at runtime and in the editor — just add "using WitShells.WitPose;" to any file.
public static class HumanMuscleJointLimits
- Inheritance
-
HumanMuscleJointLimits
- Inherited Members
Fields
MuscleCount
Total number of entries — matches Unity's HumanTrait.MuscleCount (95).
public const int MuscleCount = 95
Field Value
Methods
Clamp(int, float)
Clamp a value to the anatomical range of this muscle.
public static float Clamp(int muscleIndex, float value)
Parameters
Returns
Get(int)
Returns the HumanMuscleJointLimits.MuscleLimit for a muscle index. Out-of-range indices return a full-range fallback (-1..1).
public static HumanMuscleJointLimits.MuscleLimit Get(int muscleIndex)
Parameters
muscleIndexint
Returns
GetGroup(int)
Anatomical group this muscle belongs to (e.g. "Left Arm").
public static string GetGroup(int muscleIndex)
Parameters
muscleIndexint
Returns
GetLabel(int)
Compact semantic label describing what this muscle controls.
public static string GetLabel(int muscleIndex)
Parameters
muscleIndexint
Returns
GetMax(int)
Anatomical maximum for this muscle (normalized -1..1 space).
public static float GetMax(int muscleIndex)
Parameters
muscleIndexint
Returns
GetMin(int)
Anatomical minimum for this muscle (normalized -1..1 space).
public static float GetMin(int muscleIndex)
Parameters
muscleIndexint
Returns
GetNeutral(int)
Natural rest / neutral value for this muscle (usually 0).
public static float GetNeutral(int muscleIndex)
Parameters
muscleIndexint
Returns
IsValid(int)
True if muscleIndex is within the valid range (0-94).
public static bool IsValid(int muscleIndex)
Parameters
muscleIndexint
Returns
Normalize(int, float)
Normalize a value within this muscle's anatomical range → 0..1.
public static float Normalize(int muscleIndex, float value)