TripleOneGames wrote:No worries. There's no rush. I can always patch it in at a later if need be. I did try with only the GLES 3.0, and unfortunately, same result. Thanks for trying help anyways. I'll check back later. Even if it's not resolved in the end, I still feel this is a 5 star asset and have left a 5 star review on the asset store. Cheers, and happy holidays!
Hello, hope you've had a good time during the holidays and new year celebrations!
Regarding the issue you've reported, after extensive tests we found a way to solve your problem but not exactly the root of the issue.
Everything indicates to be an issue from Unity that we can neither track nor know for sure why it's happening. It only happens when you have a "lerp" operation that uses a property value in some fashion. If that dependency happens the value from the lerp gets outside of the range provided from the input values, and starts to get negative or inverted. Since The "HSVtoRGB" node uses a lerp at the end and it's input parameter for the "value" is a property it's destroying your effect.
We also found that this does not happen in GLES 2.0 which further indicates that the issue stems from Unity. Even the compiled assembly code from the shader looks fine and even if you use a global property like _SinTime the problems still occurs.
Since you need both GLES3.0 and VULKAN we tried to come up with a solution and the best so far was to either convert the property value into a constant or to add a saturate operation after the "HSVtoRGB" node (which contains the lerp).
- NodeSetup.png (141.17 KiB) Viewed 4351 times
We'll dig a bit further and most likely open up a bug report in Unity issue tracker, thank you once more for reporting this and don't hesitate to get back in touch if you come across any other issues!