Revolutionary-Games / Thrive

The main repository for the development of the evolution game Thrive.
https://revolutionarygamesstudio.com/
Other
2.81k stars 501 forks source link

OrganelleOpaque shader dissolve animation doesn't work #5043

Open hhyyrylainen opened 5 months ago

hhyyrylainen commented 5 months ago

When upgrading things for Godot 4 I noticed that that shader variant doesn't really work with the dissolve animation, only the transparent shader variant does.

GameDungeon commented 5 months ago

I looked into this. As far as I can tell, the dissolve animation has never worked with the OrganelleOpaque shader. I played some older pre-godot4 versions to check. As far as I can tell, the fix for this issue is just using the organelle transparent shader everywhere. It seems to fix the issue without creating any more I can see, but I am suspicious because they had to have been separated for a reason.

hhyyrylainen commented 5 months ago

the dissolve animation has never worked with the OrganelleOpaque shader

I suspected this as well, but apparently I didn't write in the original issue description.

It seems to fix the issue without creating any more I can see, but I am suspicious because they had to have been separated for a reason.

The transparent shader caused some really nasty organelle geometry being visible through itself with internal parts being drawn on top of the parts they should have been inside of.

GameDungeon commented 5 months ago

The transparent shader caused some really nasty organelle geometry being visible through itself with internal parts being drawn on top of the parts they should have been inside of.

Interestingly, my attempt to make the OrganelleOpaque work led to this. It appears that it no longer happens by default in the transparent shader, as swapping to that fixed the overdraw.