If the arms, torso, or head of a giant R15 character touch a part that can collide (anchoring doesn’t matter), then the character may start spinning.
Accessories and legs touching something has no effect.
It is noteworthy that the bug can be triggered by the character’s arms touching something, since they cannot collide with anything and thus cannot cause a physical effect; so the bug likely has something to do with how characters are programmed to respond to touching something.
Reproduction method:
Scale an R15 character by 10x
Place a part such that the character’s arms, torso, or head can touch it
Walk towards or past the part, such that you touch it with any of the aforementioned parts
The character may start spinning for about a second and a half. This spinning can be at any speed, including zero, which means the character just stops orienting themselves towards their movement direction
There’s an alternate reproduction method for this bug which is caused by character movement, and not contact.
Scale an R15 character by 10x
Go into third person, and press S so that the character faces towards the camera
One of the large creatures in my game that uses R6 also experiences this spinning issue but with different reproduction steps, so it may not be limited to R15.
Is the internal report system a pile of bugs that is fixed in random order, or has the report just been buried to never be seen again?
Because this bug still exists, 3 months later.
Character simulation was tuned around base size characters of mass 14.5 or so. By enlarging something with a vector of (10, 10, 10) you increase its mass by 1000x, which causes issues with predetermined values.
We will be rolling update tomorrow (I think) to resolve the turning issues. I’m also doing an additional pass through our character simulation code to make sure we don’t have any other places that assume that character mass is 14.5 or so.
There’s so many issues associated with the Humanoid class that I’d suggest beginning to split it apart to allow for easier debugging. Many things that the Humanoid class does could be done with character scripts instead, without breaking compatibility with anything.
I think the two behaviours in Humanoid that have the least reason to be in Humanoid and the most reason to be in character scripts are:
Breaking apart on death
Character resizing
Both of these could be taken out of Humanoid without breaking existing games, and force workarounds from developers because they’re buggy.
If you could get Humanoid down to half its size, code maintenance will be way easier.
Can confirm that it’s working for me with highly scaled up R15 avatars, I don’t have any custom rigs to test it with, but I assume this update will have fixed that as well.
Thanks for quick Feedback, guys! Yeah the issue was that Character Logic had clamps on max forces and torques it could apply rather than accelerations. Which obviously didn’t scale with rotations. Please let us know if there is anything else that doesn’t properly scale with character sizes.
Thanks for the insight, I appreciate knowing what went wrong.
I’ve now confirmed myself that the issue is fixed. Turning is also much sharper and movement feels more snappy. Previously it was extremely sluggish to turn if character models were large and heavy.