Hi Folks, you can use the new UIDragDetectors (currently in Beta) to implement a slider that lowers the MaxTorque like the one in @Homeomorph’s video.
Here’s an example world, feel free to steal it. There was some trickiness in there other than just setting the MaxTorque. (See comments in the MaxTorqueScript) Thanks to @Homeomorph for sharing the secrets; and now we share them with you!
Yes, and in fact ControllerManager significantly improves the behavior.
For example simulated characters holding things may spin or slide with the legacy physics controller in Humanoid. With a ControllerManager, the spinning stops because we now properly compute friction with the ground.
When using the heavy run animation, it is too wobbly, and when i jump with the mage animation, i end up flopping over on to the ground. Is there any way to fix this?
If you want e.g. a ragdoll with muscles (i.e. AnimationConstraints) to stand up without any help, you need to accept a certain amount of jitter, depending on character proportions, overall number of links, and gravity. It seems like AnimationConstraints sort of greedily act on their own, rather than collectively figuring out the torques to apply such that all connected links together achieve the target pose.
If methods to “properly” fix this bring a large performance penalty, it may be reasonable to make the constraints incorporate a torque that just opposes gravity, since it’s generally mainly gravity that causes this instability.
Here’s a place containing some examples to demonstrate. See how that arm is jittering? (Note that you don’t see the jitter when you’re in the client view, since physics replication is at a low frequency.)
Excited for this! But setting AvatarJointUpgrade to Enabled makes my bike IKControls wobbly and the Head is in the wrong position (IsKinematic is left at false):
Expected behavior (old character joint system)
Current behavior
This only happens when the character “tucks in” at high speeds. I’m guessing this is because there are two IKControls with their EndAffector set to the Head:
HeadControl - ChainRoot = LowerTorso and Priority = 0, this is used to put the head in its intended position.
TuckInControl - ChainRoot = UpperTorso and Priority = 1, its Weight is blended from 0 to 1 to make the character smoothly tuck in. In the above video the ‘animation’ was already complete and TuckInControl’s weight was at 1.
Wonderful.
Thank you roblox, for providing us with this amazing, very optional feature (kinematics can be set to true)
And improving on motor6d (kind of not, because it replaces it)
This is an amazing physics update, that I’ll be using.