Anime-Inspired Foliage System

Rendered Image of Foliage System with my custom painted Skybox.

Independent Project
Responsible for all aspects.

SOFTWARE USED:
Blender

August 2025
This is the result of my first project working with Blender’s geometry nodes system. It was a lot of fun to work on as I continued to expand on the features of the system and optimized it. The plan for this is to make it useable in any future projects that can take advantage of its unique visual style.

My foliage system is derivative of trungduyng’s tutorials on anime grass, and other tutorials that he has released to emulate the anime aesthetic in Blender. I’ve taken his tutorials and expanded on them, adding new features, optimizations, and extensive customization.

Brief Technical Demo

My foliage system is based on a particle layer system that makes use of Blender’s vertex painting functionality to paint foliage onto a landscape object. There are plenty of options to adjust the density of particles and limit their intensity on computer processing.

As with all foliage systems, mine makes use of GPU instancing to optimize for performance. How I’ve customized my nodes setup further is by adding more options to set whether a particle layer should be realized as true data for each particle or use instancing.

This was the very first version of the foliage system, a grassy plain.

Early iteration of trees with an alpha that was too sparse. Later replaced with a stronger leaf alpha.

I’ve added my own custom feature inspired by video game optimization, object proximity. This basically allows for proximity based density of foliage, so I can assign an object to be the reference point for where density should go and I can control how far away the foliage will spawn from the object. I can bind this object to cameras, so foliage will only spawn within distance of the camera. This feature is an optimization for large landscapes that don’t need spawned foliage across the entire surface only need foliage to be within camera view.

I’ve added my own custom feature inspired by video game optimization, object proximity. This basically allows for proximity based density of foliage, so I can assign an object to be the reference point for where density should go and I can control how far away the foliage will spawn from the object. I can bind this object to cameras, so foliage will only spawn within distance of the camera. This feature is an optimization for large landscapes that don’t need spawned foliage across the entire surface only need foliage to be within camera view.