-
Notifications
You must be signed in to change notification settings - Fork 60
OscilloWave Extension ( Updated ) #1521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
3e8ea96
to
d90e75e
Compare
Thank you for submitting an extension. Do you know about the ellipse movement extension? It does something similar but with more features and without using any JavaScript: |
OscilloWave is more focused on creating smooth, wave-like animations specifically for UI elements. I designed it to be especially useful for things like dynamic text effects in menus, banners, and interactive UI components. The sinusoidal wave movement has an initial offset, and the intensity gradually increases, which works well for adding fluid, engaging animations to text or other UI elements. While Ellipse Movement extension seems to be great for circular or arc-based movements. |
This template does a sine on the plane by setting 1 radius to 0: This is what I meant by more features: sine on 2 axes + ellipse movement. The features are also listed in the extension description, you should probably read it: |
d90e75e
to
735c0c7
Compare
Thanks for your feedback and the references! I’ve just updated the extension and added a few more features (Offset, X/Y/Both movement, Time, Frequency, Speed, Modulation) to enhance UI customization. I understand the comparison with the Ellipse Movement extension, but my extension, OscilloWave, is focused on text animation and UI effects rather than platforming movement. Unlike Ellipse Movement, which provides smooth elliptical motion (or a sinus wave if set up correctly), OscilloWave creates a modulated sine wave for more expressive, dynamic, and unpredictable motion. This makes it especially useful for wavy text effects, animated banners, and UI elements, rather than stable object movement. |
Is the function you used widely known? What is its name?
Can't a noise function be used for this? The 3D object shake extension uses noise: Your extension asks users to run an action every frame. This is something that should be avoided as much as possible because it's not user-friendly. You should take a look at the above extension as it's similar to what you're trying to do but gives a way to run a duration with easing or start and stop manually. |
Thanks for the feedback! I see the flaws in my current approach, and I agree that it’s not the most user-friendly solution. Given that, I’ve decided to remove this extension and focus on creating something new that’s more accessible and efficient for everyone to use. |
Description
DESCRIPTION
OscilloWave is a JavaScript function that supports Amplitude, Frequency, Time and Speed parameters, allowing you to tweak the appearance of your banner. It does not require a condition since it only performs a single action. However, it must run every frame; otherwise, it won’t work. Additionally, you must provide values for all parameters, as there are no default values.
How to use the extension
USAGE
The OscilloWave function is primarily used for animated banners and UI interfaces, allowing you to create smooth oscillating effects. Some key use cases include:
Dynamic Banners – Add wave-like motion to text, images, or background elements for eye-catching visuals.
Interactive UI Components – Apply oscillations to buttons, headers, or icons to enhance user engagement.
Hover & Focus Effects – Introduce subtle movements when users interact with elements.
Background Animations – Create flowing, wavy backgrounds for modern and sleek UI designs.
Loading & Transition Effects – Make UI state changes more fluid and visually appealing.
Wavy Text – Easily create animated, flowing text effects, as shown in the example.
INSTALL
On the desktop version of GDevelop, click the button Import extension, next to "Create a new extension", to import an extension from a .json file.
Install new extensions - GDevelop documentation
Checklist
What tier of review do you aim for your extension?
Community (Unreviewed)
Example file
OscilloWave Project.zip
Extension file
OscilloWave.zip