This visual shader features a disolve/resolve functionality, based on this Unity video. The reference shader hasn’t been converted 1 by 1, since GoDot does lack a lot of visual shader components.
- Border-Size: Defines how thick the desolve/resolve border should be
- Border-Color: The color of the desolve/resolve border
- GravityFactor: A factor multiplied by the Gravity parameter
- Gravity: float value [0-1], adjusting the y position of the vertices
- Time: float value [0-1], adjusting the desolve/resolve
Copy the shader and the material into your project structure. Add the material to your desired Sprite. In order to activate and trigger the animation, set the time and gravity within your _process(delta) method from 0, up to 1; while the intermediate steps represent the overall disolve/resolve progress.
To make things even simpler, the following .gd script is able to desolve and resolve your desired Sprite component. Simply add the script to a Node2D and call: get_node(“your_node_name”).desolve()
You might have noticed, that the global script functions.gd has been referenced. You may either replace the functions.gd’s functionality, or include it into your project as well. (Project -> Project Settings -> AutoLoad)