Character moves very slowly and gets pulled down slopes (not the slide ability)

hoodust

Member
I just upgraded to v3 (TPC) and migrated my character, and (after working through some issues including fixing some animator problems) got mostly everything working.

However the character moves very slowly (less than half speed), in walk or run (jump is normal), even with root motion on (which I normally do so the animation matches speed more naturally). The animations play at regular speed. She almost runs in place, then slowly picks up a little speed (never full speed), and gets pulled heavily in the direction of slopes. When stopping, she will carry momentum downhill (sliding backwards a bit if going uphill). Movement up slopes is excruciatingly slow. I do not have the slide ability enabled.

What's really interesting is that this only happens on SAND, not fallback textures. And it does NOT happen to another character that I set up from scratch and is using the same model, avatar, and animator, and all the same settings as far as I can tell. It's clearly a physics behavior, but changing the RigidBody settings make no difference (I think TPC overrides these or maybe simulates them itself so I didn't think it would).

Disabling "Adjust Motor Force on Slopes" makes no difference, nor does anything else I've tried. It's almost like she's in REALLY loose sand (haha, feature!) but just like before upgrading to v3 the other character doesn't exhibit any of this (except going SLIGHTLY slower up slopes and SLIGHTLY faster down slopes, because of Adjust Motor). The other character comes to a dead stop when input is released. Actually if I could dial this in it might be realistic to walking on sand, but I have no idea what's causing it or why it only impacts the migrated character.
 
Do you have a physics material on the sand? In version 3 it now takes into account the physics materials whereas in version 2 it didn't.
 
Hmm, in that case I'm not sure. Have you tried comparing the values between the two Character Locomotion components? Make sure you also check the abilities.
 
I did, no differences.

I bit the bullet and was copying the colliders and joint tweaking I did for ragdoll accuracy over to the working (from-scratch v3) character, and at some point it caused the same problem with the working character.

The changes were to make the colliders fit the limbs/head better, add a couple colliders to the spine and toes and changed their sizes to match the torso/neck/feet better, and adjusted a couple joints for more accurate movement. But somehow/somewhere this seems to breaks things. Really not sure why though. I even tried removing the toe colliders/joints/rigidbodies but no change.
 
Oh, that could be it. If one of the colliders is on the wrong layer it could think that there's a collision which is preventing it from moving.
 
Well they're all on existing bones, no new transforms added. And everything in the armature is on the SubCharacter layer. That's correct right?
 
Could the new rigidbodies be messing with a mass or drag calculation perhaps? really stumped here... they caused no problems in v2.
 
Last edited:
I don't think that is it, but it may be an ability that you have added to the character? If the abilities are essentially the only thing that is different then that could be it.

What you could also try doing is slowly copy the components from the migrated character to the new character to see if it's any of those values that is causing the problem. After you copy a component you can then try the new character out and see if it moves normally. If it doesn't then that component is the issue.
 
I figured out what it is... the size of the character's main capsule collider. It has to be either way too big (like default) or at least clip into the ground to fix it. I wonder why the behavior is different from v3.

I was wrong, see below
 
Last edited:
Oh wait, it's not the size, it's because the main capsule collider's MATERIAL needs to be set to Character. That is new with v3 apparently, and the migration tool didn't catch it.
 
Last edited:
Cool, thanks!

Actually this find could be turned into a feature (migration manager fix aside) if I could turn it into an ability triggered by the right circumstances. My game has a lot of desert, and instead of the typical invisible wall bounds, or a slope that's so steep the character stops at a certain angle, they could increasingly lose traction in the sand until they make no further progress and then slide back down (slide ability kicks in, or maybe this negates the need for it and physics can do the work). That would be pretty neat!
 
Top