My Character is not touching the floor

Hi! I have a problem. My third person character not touching the ground after I reduced the scale to 0.01 in ThirdPersonCharacter BP .
How I can fix it?.

Hi ReaperGT,

I’m going to need a bit more information before I can offer assistance. How did you go about scaling the character? Did select the character in the scene then change the transform settings in the details panel?

When you say floating do you mean while playing and roaming the scene is character is floating or do you mean that you can no longer move the character close to the floor while editing. A scale of .01 is very small and you can expect some errors when working at this scale.

,

Ed

HI

This little character is my main game character not simple object on the scene. I used a Third Person Character BP for it.
All I’ve done is reduced scale in Character BP (CapsuleComponent / Trasform Scale) to 0.01 and moved the camera. After that when I start playing. My character not touching the floor when I move on the scene or on another object.

PS. sorry for my bad English

Yes, what is going on here are precision issues. The engine handles physics based off real wold scale and when dealing with tiny objects there are a lot of inaccuracies.

If you want your character to seem small it would be better to scale everything up and keep him the default size or you are going to run into a lot of problems down the road.

Your character floating is just the collision being a little inaccurate and that gets way more obvious when you are at such a small scale.

The problem is in the CharacterMovementComponent. If you disable it, your character capsule component will stay on the ground. In my experiences, the capsule stays just over 2 units off the ground.

Since disabling that component isn’t always viable, you could set the mesh offset to be 2 world units down.

If you want to change this behavior in the source code (not necessarily a good idea.)

It comes from here:

Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp

Minimum / Maximum acceptable distance for Character capsule to float above floor when walking.

const float UCharacterMovementComponent::MIN_FLOOR_DIST = 1.9f;
const float UCharacterMovementComponent::MAX_FLOOR_DIST = 2.4f;

These values are used intentionally to keep a buffer between the player and the ground, the capsule is considered on the ground, when between these values.

1 Like

Thank you !