Universal Fade 1.3 Misc 4.0 Community
Submitted by user KoBeWi; MIT; 2023-10-17
Allows you to fade out and fade in the screen with a single line of code. No configuration needed, just install the addon and you can use it.
Example:
Fade.fade_out()
This will fade the screen to black over 1 second.
You can achieve scene transition with these 3 lines:
await Fade.fade_out().finished
get_tree().change_scene(new_scene)
Fade.fade_in()
The fade methods take these arguments (all optional):
time - time of the fade (in seconds). 1 by default
color - the color to fade to/from. Black by default
pattern - the fade pattern. See below. Empty string for no pattern (default)
reverse - if using pattern, this will reverse it. Default is false
smooth - if using pattern, this will make it smooth. Default is false
There's also a method for crossfading (i.e. interweawing two screens). It also takes two methods, where only one takes (optional) arguments:
Fade.crossfade_prepare(time, pattern, reverse, smooth)
get_tree().change_scene(new_scene)
Fade.crossfade_execute()
The node comes with 5 patterns: Diagonal, Diamond, GradientHorizontal, GradientVertical, Noise, Swirl. Just type the name of the pattern to use it, e.g. Fade.fade_out(1, Color.BLACK, "Diamond")
You can add custom fade patterns by putting PNG files to "addons/UniversalFade/Patterns" folder. The name format is: "<name>.png", where <name> is what you will provide as argument for the method. They should use grayscale colors and they will fade from white to black. The pattern directory can be changed using "addons/universal_fade/patterns_directory" project setting.
Check the repo for more info and some GIFs.
View files Download Submit an issue Recent Edits