Date: 04.12.2025

Source: Ryan King Art

Time spent: 3 hours

While this tutorial makes use of geometry nodes to animate bats, the same nodes could very easily be used to animate any flock of birds, and probably swarms of flying insects too.

There are two options for the bats, ‘Never Ending Bats’ which loop constantly, and ‘Animated Bats’, which I guess doesn’t need too much explanation!

I modelled a low-poly bat and UV unwrapped it, using a free image of a bat from Unsplash.com

I then duplicated the bat along the Z axis until I had a stack of eight bats and varied the sizes. I changed the wing position of each bat to make them more random by moving the three keyframes along the timeline – I didn’t want them all flapping together at the same time as it wouldn’t look natural. Using the Timeline, for each bat I positioned the playhead on the centre keyframe and scaled the keys so that the larger bats flap over six frames and the smaller ones over four frames. I saved the bats into a new Collection which could be called upon in the Geometry Nodes.

The bat wing flapping motion was animated using Shape Keys of the wings in two positions – up and down. Using just three keyframes (at frames 0, 5 and 10) and then making use of the ‘Cycle’ modifier in the Graph Editor. The animation loops – as long as the Timeline is running, the wings are flapping.

I added a Bézier Curve to my scene for the Geometry Nodes, scaled it, rotated it and extruded until I had a shape I was happy with – this would become the flight path for the bats. The nodes are largely the same for each of the two set-ups as you’ll see; I started with the ‘Animated Bats’ and then duplicated that node set for the ‘Never Ending Bats’.

Animated Bats

Nodes (overall view of all nodes):

Detailed views:

Never Ending Bats

Nodes (overall view of all nodes):

Detailed views:

 

I created a very quick scene using a cave from Blenderkit to give the bats a little context and rendered a short animation to show the bats in action.
Sound effects are from Uppbeat.

I also did a screen recording to demonstrate how easily and quickly adjustments can be made.