lyuma/Av3Emulator

Parameter Driver copy does not work on clones' mismatched parameters

DorCoMaNdO opened this issue · 8 comments

Repro:

  1. VRC Expression bool parameter as float in animator
  2. Parameter driver set to copy from/to bool as float to another bool
  3. Works fine on main avatar, does not work on clone

I can't seem to reproduce this. Are you trying to copy from an AAP (Animated Animator Parameter) to an expression parameter?

Nope, regular parameter, bool in expression parameters, float in animator, parameter driver copy works from the animator float to another bool, but not the other way around, at least not on clones. Works perfectly fine in game, desyncs with the emulator.

my setup and results are:
Animator Float/Expression Bool Synced B1
Animator Float/Expression Bool Unsynced B2
Every frame parameter driver copies B1 to B2

if i turn B1 to true, B2 also turns true, both locally and remotely.

What is different in your setup?

In my setup the synced bool is a bool in the animator too, the unsynced bool is the one cast to float, and the one being copied to the synced parameter, casting from float to bool within the parameter driver (and on the remote side, the other way around, casting bool to float)

Edit: Upon a more in-depth look, it appears that the copy operation on the local side (from float to bool) DOES work correctly, however on the remote side (clone), casting back from the synced bool to the unsynced bool (animator float) does NOT work.

@DorCoMaNdO is there a way you can make a simple animator or test avatar that shows the problem (doesn't need to be a real avatar, just need to see how to make the issue happen)

av3emu repro.zip
There you go, note that this works perfectly fine when the animator parameter is a bool, or when performing the same operation over ints/floats, it is only mismatched bools that fail the copy.
Oddly enough looking at the av3emulator parameter list, it appears that the bools do sync correctly, however they clearly do not, at least not within the animator, as the animations tied to the parameters do not activate on the clone.

Thanks, got it, should be fixed in #150

we merged the fix. now it's up to me to release an update and submit creator companion