Table of Contents

Class HumanMuscleJointLimits

Namespace
WitShells.WitPose

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

int

Methods

Clamp(int, float)

Clamp a value to the anatomical range of this muscle.

public static float Clamp(int muscleIndex, float value)

Parameters

muscleIndex int
value float

Returns

float

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

muscleIndex int

Returns

HumanMuscleJointLimits.MuscleLimit

GetGroup(int)

Anatomical group this muscle belongs to (e.g. "Left Arm").

public static string GetGroup(int muscleIndex)

Parameters

muscleIndex int

Returns

string

GetLabel(int)

Compact semantic label describing what this muscle controls.

public static string GetLabel(int muscleIndex)

Parameters

muscleIndex int

Returns

string

GetMax(int)

Anatomical maximum for this muscle (normalized -1..1 space).

public static float GetMax(int muscleIndex)

Parameters

muscleIndex int

Returns

float

GetMin(int)

Anatomical minimum for this muscle (normalized -1..1 space).

public static float GetMin(int muscleIndex)

Parameters

muscleIndex int

Returns

float

GetNeutral(int)

Natural rest / neutral value for this muscle (usually 0).

public static float GetNeutral(int muscleIndex)

Parameters

muscleIndex int

Returns

float

IsValid(int)

True if muscleIndex is within the valid range (0-94).

public static bool IsValid(int muscleIndex)

Parameters

muscleIndex int

Returns

bool

Normalize(int, float)

Normalize a value within this muscle's anatomical range → 0..1.

public static float Normalize(int muscleIndex, float value)

Parameters

muscleIndex int
value float

Returns

float