Leaf Motion

This effect is quite simple in-engine. It's a piece of foliage with a wind motion shader; nothing too surprising. What make this effect special is the leaf card textures. I wanted to give the impression that the leaves were twisting, which means I would need to affect their silhouettes (getting thinner as they tilt perpendicular to the camera) and their normals (catching the light as if they were facing a different angle). 

In order to do this, I first modeled a single leaf in blender. I rendered out that leaf's normals, and the normals twisted 90° to the right. I also created a gradient from the leaf's silhouette that was brightest in the middle, and darkest on the edges. I modeled some branches, stuck my special leaves to them, and rendered them out to use as cards. 

The wind motion shader runs on the vertex program and blends a few world space sine waves to modify vertex position. A simplified version of this also runs on the fragment program and affects leaf twist speed. This way, a gust of wind affects both large-scale vertex motion, and small-scale leaf motion.

I would like to continue to explore this space. This effect convincingly models flat leaves twisting, but there's still so much more beauty in the motion of plants I have yet to see realized in real time graphics. I would like to experiment with motion vector textures; something I tried briefly before settling on this method. With some time and clever thinking, I believe I could achieve something even better.

wind motion shader graph

branch cards and shrub model created in blender

a second normal map that describes the direction of a leaf when tilted.

a custom alpha map that describes the silhouette of a leaf as it's tilting.