Best way to make plant growth simulation

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Bo

I am a total newbie.

I have been searching for a realistic plant grow simulation but failed to find something usefull. What i learned is that the world of animation is quite complex.

I have the feeling Godot is a good start to try and build something. I want to keep it as simple as i can, so think of makeing a 2D simlation, with a growth-progress slider to step through the time and later add some parameter input(s).

I am not an artist, cannot draw a straight line !
So before i start i want to know what is the best way to tackle the growth simulation.

The first way i see is to make seperate images of the growth stages and by moving the slider pick an other image ?

The second way i see is to use the animationPlayer and make an animation.

Are there other (beter) ways ?

I like to add that the next step would be to change the simulation depending on parameters. For example: At a certain time i want to color of the leafs the be changed, the new added parts in de next step should have the old (standaard) colours. I hope this is understandable.

If you think what i want is not do-able, please let me know.


:bust_in_silhouette: Reply From: SQBX

As far as I know, AnimationPlayers would work correctly except for the fact that you cannot sample specific stages from an animation, so you wouldn’t be able to use a slider (although I may be incorrect)

You should write a script that can move, scale, and rotate nodes by different amounts based on a slider variable that is always between 0.0 and 1.0.

You could use procedural generation to randomize how different parts of the plant react to the slider changing, though this should be done smoothly (such as generating 1-or-2-dimensional Open Simplex Noise and sampling the colors).

Curves might also come in handy for you because they allow you to smoothly interpolate between floats in a variety of different ways.

I believe that combining Curves and Open Simplex Noise together would give you the best effect.

Though, this might be difficult to program unless you have a lot of experience with the engine (I’m not sure how much you have used Godot before).