Avatar sinking when I start moving while looking down

Hello, everyone!

I have this strange problem with my avatar which I don’t see with any other.

I’m on PC. Non-VR mode.

When I start moving while looking down, my feet sink into the ground to about the height of my ankle. I checked, the whole avatar seems to dip down. But if I look straight ahead, it doesn’t sink. If I look down while standing still, it doesn’t sink either. Only when I move around while looking down.

I tried adjusting the foot bone higher or lower (pretty much to almost 0 on vertical axis). I tried to adjust the hip higher or lower, in general and compared to leg bones. My avatar is at (0,0,0) in Blender, and the origin point is at the bottom of its feet. I tried to adjust the View Position in Unity, close to Head bone or far from it; tried to disable Scale IPD too.

Nothing helped.

Has anyone encountered this issue?

Update: here’s a quick recording of this problem https://imgur.com/a/BELaEV5

Could be a problem with the rig. Try going into the rig after selecting the model file in Unity, hit Configure, then do “Enforce T-Pose” from the bottom left section where you map the bones. (Not in Unity at the moment; hopefully memory serves).

Also if you’re using a custom run/walk/strafe animation, try uploading without any movement animation overrides.

Thank you for your reply.

I enforce T-Pose pretty much every time I import a character (although it does not change anything most of the time). Still doesn’t help.

And I don’t use any custom animations here. Only the default male or female sets. Tried both, same problem.

Looking at what you’ve tried here’s some things that may help. It seems you may have an issue with the bounding box or the avatar origin point in Unity, having the origin point on the floor in blender is fine but having it on the floor in Unity is not great.

Something you can try in Unity is setting the root bone to your hips if it isn’t already in the skinned mesh renderer for your avatar you can also check the avatar bounds here.

Thank you for your reply, I had no idea I could edit bounds in Unity.
Here’s what my original looked like. It actually seems like it has a bounding box that extends about the distance it sinks.

I tried changing it to this.

But it didn’t help.

Tried exportion with animations None instead of Male. Still sinking.
Tried with disabled Skinned Motion Vector. No effect.

Curiously, when I enable Update When Offscreen, it shows a non-rotated bounding box which still extends beyond the actual bounds of the mesh. I still cannot understand why, maybe VRchat creates a bound over a rotated bound? And why was it rotated in the first place?

Oh, and as you can see from the screenshots, the root bone is set to Hips all along.

hmm your AABB root seems to be in a odd position, on all of my avatars it defaults to the hips but on yours it’s under the feet / on it.

See if changing the center on the bounding box to around your hips and resizing the bounding box as needed helps.

Don’t really know at this point tbh.

Made a new test avatar from scratch. It doesn’t have this problem any more.

This avatar also has a slightly skewed bounding box and it goes below its feet. So I guess that wasn’t the problem.

I have no idea what exactly fixed the problem, but here are some differences:

  • It is a bit more detailed
  • Instead of building the armature from scratch, I took a Rigify humanoid metarig and deleted/renamed/rearranged bones (moved the hip bone a bit higher than it is in Rigify. I tried moving it with my previous avatar, it didn’t help)
  • This one has fingers
  • I noticed that the previous avatar’s mesh (mesh data or something?) in Unity looked like he was laying nose-down. Guess those are inconsistencies between axes in Blender and Unity (changing axis settings in FBX exporter in Blender didn’t help). So, in Blender, before parenting to skeleton, I rotated the mesh in EDIT mode by -90 by X, and then did the same to the Armature in OBJECT mode. Then parented the mesh to armature and rotated the armature back. Now the mesh data in Unity stands upright as it probably should.

I don’t know what exactly helped, but now it does not sink when I look down, or anywhere for that matter.

Thank you for your attention.

This might be relevant? Dynamic Bones Shaking/Feet Going Through The Ground

For the record.
I’ve just had this problem with a different avatar and managed to narrow down the points above.
It is the mapping of fingers that helped. Once I mapped the fingers in Unity rig editor (even though these bones are not skinned to the actual model), and the warning about unmapped fingers in the control panel was gone, the newly uploaded avatar does not sink any more.