Open Hayden-Fluff opened 3 years ago
I'd need some reproduction steps for this, I'm not really sure what could be causing this.
If I could know how this value is determined then I could possibly see what to test for to find a possible replication case.
I don't think that's going to help much. It's computed by transforming the AudioOutput scale to the space of the user's root.
With some testing, this only appears to happen whenever the host of a remote session spawns the avatar. (like defaulting into the avatar) re-equipping or reloading the avatar gives the property the correct value. Looking at a decompile I was able to rewrite the code that sets the value in LogiX for comparison and testing, and this does prove the above noted correct, the value is always incorrect from the value shown in the LogiX, but re-equipping the avatar sets it to the exact same value as shown in the LogiX.
With some testing, this only appears to happen whenever the host of a remote session spawns the avatar. (like defaulting into the avatar) re-equipping or reloading the avatar gives the property the correct value. Looking at a decompile I was able to rewrite the code that sets the value in LogiX for comparison and testing, and this does prove the above noted correct, the value is always incorrect from the value shown in the LogiX, but re-equipping the avatar sets it to the exact same value as shown in the LogiX.
Does this always happen whenever the host spawns any avatar? Or is there any dependence on either the host or your scale/are there any DefaultUserScale components at play? @Hayden-da-Serg
E.g. in #845 H3BO3 noticed that when the host spawns a user while the host is at a small scale, it can cause the dynamic bone colliders to be scaled large on the user.
The only case I know of of the user spawning the avatar then it immediately being equiped is on user spawn so that's the case I'm testing, as such my scale can't really be set. The scale of the host user does not seem to matter at all, having a Default User Scale also does not seem to matter, even if it's set to 1, the scale also doesn't seem to matter. I noted that this particularly tends to happen on IK avatars, as they always have some weird slot scaling at play so everything is never [1,1,1], as testing with a head and hands avatar set the value within floating point error rounding differences to the appropriate value.
Hey @Frooxius - could this be looked at again soon? It may implitly help solve issues Hidi and others have been having with user voice scaling.
The issue is specifically tied to the avatars that are favorited. When a user spawns in a favorite avatar when they join the session, or respawn, the _scaleCompensation is set to an incorrect value compared to when quick-equipping the avatar from the inventory, or equipping an avatar in-world.
In particular, this appears to be tied to the scale-estimation logic that tries to size an avatar based on the headset height.
If I put my headset really low to the ground, the _scaleCompensation value gets considerably larger when I spawn in compared to if I quick-equip the avatar after I've already been spawned.
Example: When quick-equipping the facebot avatar it sets a scale compensation value of 184.09.
If I put my headset near the ground, this value was set to 1140.
This issue is consistent, and the _scaleCompensation values appears to be directly tied to headset height while respawning.
To further this- if I use seated mode, placing my head in the same physical position yields a _scaleCompensation value of around 400 instead because my head isn't detected as being as low to the ground.
Describe the bug
Occasionally the
_scaleCompensation
value on the AvatarAudioOutputManager gets set to insanely large numbers, resulting in the user of the avatar sounding like they're in shout mode while they're in normal.Relevant issues
None that are known
To Reproduce
Not yet known
Expected behavior
I would think the
_scaleCompensation
value would be set to whatever the Default Avatar Scale is set to, however I do not have the ability to look at what the component does or how the value actually gets set so I have no way of knowing.Screenshots / Video
Screenshot of an auto set value on someone's avatar, they have a Default User Scale set to 0.3. Screenshot of the automatic setting on my personal avatar with a Default User Scale of 1.1
Bug information (please complete the following information):
Additional context
N/A
Reporters:
@Hayden#3180