Procedural Animations

external-link

Dec 2024

Finished

Using Python, Pygame, and NumPy, I employed the concept of zero keyframes: instead of using images for texture, I drew and rendered the frames of a moving creature to make it appear alive. The main idea was to create fish-like creatures with fins and wobbly eyes. I then incorporated some of my previous work on Inverse Kinematics to generate the legs. With some smoothing curve techniques, I made the shapes of the creatures smooth and visually appealing. The results are incredible visuals of creatures that move as if they were alive and following you!

Technologies
matplot

Matplot

numpy

NumPy

pygame

Pygame

python

Python

https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (1)_169.webp?v=99504f16b87aeb706a2f29245e6c93470b43d02f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (10)_169.webp?v=caa987887eaf2f92405a0024a6fff8f7c8e1f788
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (2)_169.webp?v=461a89c6e652edce7b0b3cb171c680256e6eb0fc
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (3)_169.webp?v=fb52194e3954bdf484e9e0d27771bd101d65500f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (4)_169.webp?v=971e0c2fb5db66450955ec902f53ac6cea5ea2de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (5)_169.webp?v=8ba085d53014e8905014058b3771da1b66adb0de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (6)_169.webp?v=9284c2e623af69145fbc7630042a46f4d39a6084
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (7)_169.webp?v=9ee67d8443bb41fe12e12c5e7827ec5bfe1cea81
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (8)_169.webp?v=e23714863073cacf25ba2e34c02e370ac5fb8344
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (9)_169.webp?v=6f743f344d9f59ff925c1a956e50e5c7f15b756a
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (1)_169.webp?v=99504f16b87aeb706a2f29245e6c93470b43d02f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (10)_169.webp?v=caa987887eaf2f92405a0024a6fff8f7c8e1f788
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (2)_169.webp?v=461a89c6e652edce7b0b3cb171c680256e6eb0fc
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (3)_169.webp?v=fb52194e3954bdf484e9e0d27771bd101d65500f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (4)_169.webp?v=971e0c2fb5db66450955ec902f53ac6cea5ea2de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (5)_169.webp?v=8ba085d53014e8905014058b3771da1b66adb0de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (6)_169.webp?v=9284c2e623af69145fbc7630042a46f4d39a6084
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (7)_169.webp?v=9ee67d8443bb41fe12e12c5e7827ec5bfe1cea81
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (8)_169.webp?v=e23714863073cacf25ba2e34c02e370ac5fb8344
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (9)_169.webp?v=6f743f344d9f59ff925c1a956e50e5c7f15b756a
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (1)_169.webp?v=99504f16b87aeb706a2f29245e6c93470b43d02f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (10)_169.webp?v=caa987887eaf2f92405a0024a6fff8f7c8e1f788
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (2)_169.webp?v=461a89c6e652edce7b0b3cb171c680256e6eb0fc
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (3)_169.webp?v=fb52194e3954bdf484e9e0d27771bd101d65500f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (4)_169.webp?v=971e0c2fb5db66450955ec902f53ac6cea5ea2de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (5)_169.webp?v=8ba085d53014e8905014058b3771da1b66adb0de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (6)_169.webp?v=9284c2e623af69145fbc7630042a46f4d39a6084
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (7)_169.webp?v=9ee67d8443bb41fe12e12c5e7827ec5bfe1cea81
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (8)_169.webp?v=e23714863073cacf25ba2e34c02e370ac5fb8344
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (9)_169.webp?v=6f743f344d9f59ff925c1a956e50e5c7f15b756a
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (1)_169.webp?v=99504f16b87aeb706a2f29245e6c93470b43d02f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (10)_169.webp?v=caa987887eaf2f92405a0024a6fff8f7c8e1f788
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (2)_169.webp?v=461a89c6e652edce7b0b3cb171c680256e6eb0fc
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (3)_169.webp?v=fb52194e3954bdf484e9e0d27771bd101d65500f
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (4)_169.webp?v=971e0c2fb5db66450955ec902f53ac6cea5ea2de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (5)_169.webp?v=8ba085d53014e8905014058b3771da1b66adb0de
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (6)_169.webp?v=9284c2e623af69145fbc7630042a46f4d39a6084
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (7)_169.webp?v=9ee67d8443bb41fe12e12c5e7827ec5bfe1cea81
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (8)_169.webp?v=e23714863073cacf25ba2e34c02e370ac5fb8344
https://raw.githubusercontent.com/MiquelGomezCorral/Procedural_Animations/main/readme_images/Procedural (9)_169.webp?v=6f743f344d9f59ff925c1a956e50e5c7f15b756a