Inochi2D / inochi-session

Application that allows streaming with Inochi2D puppets
https://inochi2d.com
BSD 2-Clause "Simplified" License
278 stars 19 forks source link

[BUG] BlendShapes do not track in ratio bindings under specific circumstances. #48

Open Provismet opened 11 months ago

Provismet commented 11 months ago

Validations

Describe the bug

If a virtual space has two sources, the BlendShapes from the lower source are not read by ratio bindings if the upper source is not currently active. Expression bindings using the BLEND(...) function work as normal, and the BlendShape tab also shows the values as expected.

In my specific scenario my virtual space has:

I have tested this in both orders and the bug is consistent for BlendShapes (Bones simply did not transmit regardless when OSF was lower). If the source that is higher on the virtual space is not transmitting data, then the lower source BlendShapes will experience the bug.

Reproduction

  1. Create a new virtual space.
  2. Click the + to add a new source.
  3. Set up the source.
  4. Add and set up another source.
  5. Open the program of the second source.
  6. Set a parameter to use ratio binding for any BlendShape of the second source. a. The ratio binding will not track the value.
  7. Open the program of the first source. a. The ratio binding will now work.
  8. Close the program of the first source. a. The ratio binding will stop working.

System Architecture

x86_64

Operating System

Windows

Version

0.8.3

Logs

No response

Additional Context

No response

Provismet commented 11 months ago

Example of expression bindings working when ratio bindings don't in this scenario. (Virtual Space as described above, with OSF not open.)

https://github.com/Inochi2D/inochi-session/assets/17149901/9c62524a-5c04-4b6c-9d07-3bba3cd8a049

LunaTheFoxgirl commented 11 months ago

I have a sneaking suspicion that this may be a nan-propagation bug, will look in to it soonish