Website powered by

Flying Birds VFX Niagara and Material

In this small R&D project I wanted to control some vertex animation effects from a material with a Niagara system, the overall idea being to make a bird fly more "dynamically" where it would beat it's wings more when it's velocity increased, glide at lower velocity while the head and tail would pitch, yaw and roll in line with the particles own pitch, yaw and roll based off it's velocity.

I learned a lot about Niagara and passing information from it to Blueprints and Materials.

Thanks for looking and I hope you enjoy my meandering birds.

View from a "look at" camera following one of the birds (as best as it can)

Overview of the material parameters, this is a "static" version of the material with the head and wing parameters adjustable for debug purposes, the WingFlapSpeed and HeadAngleX Y and Z are controlled via Dynamic Parameters from Niagara.

View from a camera that follows a bird. Apologies for the janky camera movement.

Idle view of the birds as they fly around the scene.

Clay image of the birds mesh, it's this complex purely to test and showcase the vertex animation properties working with Niagara.

Clay image of the birds mesh, it's this complex purely to test and showcase the vertex animation properties working with Niagara.

Vertex color red, green and blue used to mask the wings, head/tail and legs for use in the material.

Vertex color red, green and blue used to mask the wings, head/tail and legs for use in the material.

Vertex color alpha used to mask the tips of feathers for a wind "rustle" effect in the material.

Vertex color alpha used to mask the tips of feathers for a wind "rustle" effect in the material.

An overview of the material used on the birds, essentially the same rotate about axis steps on the parts of the bird masked by vertex colors with variations to suit the requirements for each.

An overview of the material used on the birds, essentially the same rotate about axis steps on the parts of the bird masked by vertex colors with variations to suit the requirements for each.

Overview of the simple enough Niagara system that's spawning the birds, animating a point attractor force to pull them around the level, orienting them along the velocity and passing data to a Blueprint and the Material.

Overview of the simple enough Niagara system that's spawning the birds, animating a point attractor force to pull them around the level, orienting them along the velocity and passing data to a Blueprint and the Material.

Overview of the Dynamic Parameter Index in Niagara sending particle information to the material to be used for controling the vertex animations for flight.

Overview of the Dynamic Parameter Index in Niagara sending particle information to the material to be used for controling the vertex animations for flight.

Dynamic Parameter inside the material giving me the Particle velocity for X, Y and Z along with the Particles ID.

Dynamic Parameter inside the material giving me the Particle velocity for X, Y and Z along with the Particles ID.

Exporting Particles Position, Forward Vector and Particles ID from Niagara for Blueprints to pick up.

Exporting Particles Position, Forward Vector and Particles ID from Niagara for Blueprints to pick up.

Particle data from Niagara in a Blueprint that was being used to send the location and orientation of a particle bird for camera tracking/following.

Particle data from Niagara in a Blueprint that was being used to send the location and orientation of a particle bird for camera tracking/following.