My head is constantly offset by ~2cm left on all avatars
tracked
Xan
This is a very, very specific issue that I have been wrangling with since at least 2021 or so, and I doubt it's happening for anyone else, or people just don't care enough to notice, but I figured I ought to report it anyway. This occurs both with and without FBT.
Switching into any avatar in the game, calibrating my full body, and placing my arms at my side reveals that my arms are not centered about my body. Additionally, my avatar has a very slight lean to it.
Currently the problem is solvable, but it requires a trick in SteamVR to basically lie about where my hardware is physically located (OpenVR Input Emulator), adding a ~2cm right offset to my HMD.
Since this is not so easy to explain with words, I have recorded my raw VR view and demonstrated the problem and how I fix it for myself: https://youtu.be/jvfrAz4HVL8
And, since it is a very legitimate question that might come off as a bit impolite to ask, I will answer it ahead of time: I did indeed check my real physical self to make sure my spine isn't messed up or something, and I can confirm that I stand up straight as an arrow in person :P
Addendum:
I have also checked my playspace configuration. This has persisted across several different spaces as I have used different parts of my home for my VR setup. I'm using an Index with 3 Lighthouses.Log In
StormRel
marked this post as
tracked
Lun․
My friend Tohru has a tool for this, helps you counteract the offset from the idle position of your head
Skele™
Hello! I've actually been investigating this, this is NOT an issue with VR setups/playspace config and will actually happen in desktop. If you enable wireframe view in the editor and use a gesture manager, you'll actually see your avatar will tilt as the default idle animation loads.
I've found there's three things that seem to happen here:
- The armature root position is shifted to the left slightly.
- The hip roll is slightly rotated.
- The neck yaw is slightly rotated.
You can only somewhat counteract this by moving the avatar descriptor onto roughly where you see the eyes ingame. For me, that is setting the X to -0.003110882. However, this isn't perfect as spine and above still aren't aligned true forward.
I have exported my avatar in many formats and using an exporter preset that better suits Unity;s expectation of armature scale and rotation, and have been able to replicate this on numerous armatures on new projects HOWEVER, I have also had a friend do the same with their armature and it was practically perfectly centered. I'd say almost all avatars have the offset, but not all.
I think there's the rounding error issue with Unity's humanoid editor is making the idle slightly offset compounding with VRChat's idle proxy not being perfect., and the issue is further compounded by the scale of your avatar. My avatar is 192cm tall. I copied the values from all left-bones to right-bones. This seems to repair the rotation, but the leftward position offset just can't be prevented.
To summarize, the two ways I have been able to "fix" this:
- Disable your locomotion entirely and just rely on IK, this won't matter for FBT users, but will make desktop/upper body users "skate".
- Create a better proxy idle, offset your view position.
Xan
Skele™ Oh this actually correlates with some other stuff! Specifically the -0.003m offset. Sometimes I have a snout in first person on my avatars, and I have to set my eye offset to this value on the X axis to get it centered in my VR view. This is actually super informative.
I'll do more experimenting with this in mind and edit my post with the extra information, but your solution seems very promising.
Edit:
I did some cursory testing by trying to replace various animators with empty controllers (or, they had one empty animation clip). This did not fix it. I attempted to replace the idle controller and also disabled the locomotion options. This did not fix it either.Edit 2:
Replacing my t-pose and IK-pose did not seem to help either, unfortunately. It seems the only possible fixes are purely "reactive" for lack of a better word, that is, correcting the error after it happens, rather than stopping it from happening in the first place.SapphireSouls
I've been experiencing the same issue since 2021 as well.
Funnily enough just a few weeks ago my partner and I were investigating this as it is a GLOBAL issue with Unity/VRC. No matter what headset you're using, even on desktop, ALL avatars have their viewpoint incorrectly shifted.
What we found was that it seems to be related to the stock locomotion animations. If you check the position of your head in Unity while T-Posed and then enter playmode with gesture manager emulator to make your avatar stand in the default idle pose, their head and viewpoint both move.
Notably it's not just a left offset, it's rotated slightly too.
We've yet to find a solid fix as it's potentially floating point precision issues with Unity itself, though VRC could potentially rectify it by adjusting the viewpoint on avatars on upload to counteract the position and rotation errors. Or a set of stock animations that counteract the behaviour.
I'm glad someone else has noticed this issue because it proves I'm not crazy.
Drives me insane because looking 'straight' at a mirror makes me look more towards the tear duct of my eye instead of dead center on my nose.
Xan
Excellent, your information aligns too. I am doing some testing.
Michael`
I couldn't really say but it may be that your floor is literally tilted in Steam VR. I have had an issue with slight tilt here and there especially when I lose tracking but the way your describing it makes it seem a lot like something to do with your playspace or hardware. You could try using 1 then 2 then 3 base stations and see if it changes, and I also would suggest when you calibrate the floor the left controller determines height but I believe the right one determines level (MAYBE) so try separating them a bit more and then calibrate the floor.
Xan
Michael` I had a look at this. As mentioned before this has persisted across several different playspaces in my physical home, so I had my doubts. Resetting my playspace from scratch with some base stations on or off made no difference.
To be extra sure, I ended up checking in other games too (BONELAB, Skyrim VR, Blade & Sorcery, ChiloutVR). The issue is exclusive to VRChat and does't happen in any other VR titles.