Looking at a free model ragdoll script, need better understanding of following properties
constraints.Ankle.LimitsEnabled = true -- This just sets how far we can rotate our ankle up and down?
constraints.Ankle.TwistLimitsEnabled = true
constraints.Ankle.UpperAngle = 30 -- This angle is for movement when you move your ankle vertically up?
constraints.Ankle.TwistLowerAngle = -45 -- Whats the difference between upperangle and twistupperangle?
constraints.Ankle.TwistUpperAngle = 30
TwistLimits are hard to imagine, but @EgoMoose has made a cool gif of how the twisting rotation works in the gif below in the CFrame article. This “Twist” gets constrained by an angle for a ball socket constraint.
Gif part first twists, then swings towards the target rotation:
Yep you gotta make it on your own. However, I believe you can just use the ragdoll script then use the command bar to setup the joints automatically so you can use the studio constraints visualizer to see how it works.
Well in the gif, imagine that the first rotation is only able to “twist” a certain amount of angles.
Here is what I mean when I manually scripted twist limit constraints it for my CCDIK inverse kinematics project:
The leg that speens 360 is one without twist limits,