top of page
Skärmbild 2025-03-23 220616.png

Specialization

Foliage Brush - Arinn Engine

Foliage Brush in custom engine

I chose to create a foliage brush as my specialisation on TGA, I chose this to support our graphical designers when set dressing. I wanted to create something that could help in the group projects as well as being visually interesting.

Introduction

During my studies at TGA we needed to choose a project that we could plan and complete within a given time frame. I wanted to do something that was visually interesting but also that could help in our group project, I landed between a material/shader editor or foliage brush. Since our graphic designers had a lot to do, I decided to create a foliage brush to support and make their time easier to set dress.

20250219-1056-47.7436762-ezgif.com-video-to-gif-converter.gif

Work

As we had limited time on when we needed to be finished I made sure to plan to make a simple version of a foliage brush to begin with and let the time left go to improving and implementing features.  

I started with getting the position in the scene from where you pressed on the screen, adding this to a foliage block and rendering it. With placing foliage working I started with saving and loading of foliage blocks, as the foliage block is mostly object transforms stored in a matrix I chose to save the data binary to make saving and loading faster. 

Now having the core done I wanted to add more functionality to it, adding random placement in an area from where you pressed depending on the density of foliage already placed. Adding the option to have objects get a random rotation or size. Allowing for multiple foliage blocks to handle different foliage.

Thoughts & Improvements

Being on a time limit ment there are a lot of things I didn't have time to implement but having a stable core product was more important than implementing many small things that didn't work well. But some things i wanted to implement is: 

 

Placement based on decals:

I wanted to use a decal to show and find acceptable placements from foliage. This would make placement on uneven ground or slopes better as I could get the height of the ground from the correct spot, it would also remove the possibility to place objects in the air or inside of other objects. 

Module foliage packade support:

In a package of foliage I would like you to be able to make a temporary asset of many smaller assets, that you would place in the correct formation. This could be something like placing a tree and adding the leaves to it or a rock with bushes around it. This would allow more flexibility with the assets at hand as you don't need to have the perfect asset at hand but can construct it as you wish.

Multiple models with a foliage stroke:

Currently each foliage block can only have one model, I would like to have multiple models registered and setting how common each model is to show up. This again to allow for faster work, allowing to fill an area with bushes of different kinds at the same time or spreading having a lot of small things spread out with a bit of randomness without having to spend a bunch of time on it.

Screenshots

bottom of page