lyuma / Av3Emulator

Emulator for VRChat's Avatars 3.0 system, built on the Unity PlayableGraph API
Other
531 stars 31 forks source link

Emulator causes incorrect head scaling. #120

Closed brandonvdongen closed 1 year ago

brandonvdongen commented 1 year ago

If a situation is encountered where the head bone results in a non <1,1,1> value for any reason, running the emulator in play mode will cause it to forcibly scale the head to 1,1,1 this means if a model's head was either up or downscaled the head is forcefully scaled to <1,1,1> instead of it's original size. doing this however works perfectly fine in VRChat and the shadow and mirror clone seem to handle it properly too in the emulator. only the base model gets affected.

the line responsible for this issue can be found here, as the size is set to <1,1,1> directly rather than to whatever the original size was at play mode start. https://github.com/lyuma/Av3Emulator/blob/2f92e98fa3fc7e8e5f6cf7c4d29155b9d9c7fd0c/Runtime/Scripts/LyumaAv3Runtime.cs#L1922C5-L1922C26

jellejurre commented 1 year ago

Now fixed by https://github.com/lyuma/Av3Emulator/commit/e8b5afe459319542834b7193393079fc1f68c837

This fix doesnt allow for animating head scale on local clone, but that is something that would never work in VRChat anyways due to local bone scale being set to 0.0.0, so im not too bothered.