Foliage Painter BP Style Brush Functions

I propose that there should be a system to implement a blueprint style function to the brushes in the foliage painter. Within the function, you could perform most of the typical blueprint operations with the end outputs being things like if it decides to place the foliage or not, the scale, rotation, etc (standard options for foliage).

How cool would it be to make something like a function that first checks the landscape paint layers for things like dirt/grass/rock/etc and if it’s predominantly dirt or grass, proceed. Then it would raycast inward from a dome reference, check the hit component’s name to see if it has the word leaf in it, checks how many times it passes through leaf geometry, does some other math to determine the level of “shade” that the area receives, set variable thresholds like if shade is less than 0.2 or greater than 0.8, don’t place the foliage there, do some random shuffling of other variables like rotation, etc. With a quick stroke of the brush, it would paint it all exactly where you need it to be.

All of that could be doable with a brush function and save an astronomic amount of time in the long run. These days, everything is going procedural, so it only makes sense to expand upon some of the automation already present. I understand that this could potentially cause problems for people if they are making ridiculously complex brushes, but picture what could be accomplished with a system like this…

Something similar is actually already possible if you you add foliage instances through bp and in editor events. Theres only 1 problem, added instances this way corrupt the foliage indexes. I reported this, and got back a “fix” where adding foliage instances was replaced by normal instanced meshes… which is obviously not a fix. If somebody would be able to tackle this small issue, you would practically have your desired feature with very little effort.

1 Like

Yeah, I know you can kind of get away with using blutility like functions for this, but as you said, it’s different. I want to be able to bypass all of that hackery and just be able to make my own smart brushes for the foliage editor itself.

1 Like

Trust me, I would love that aswell, but looking how other features especially landscape related ones are treated novercal I have no doubts, that even if such a feature would be added, it would end up being half baked like the procedural foliage spawner and other stuff.There have been similar requests for years and no progress afaik. Having “add foliage instance” through bp fixed is already more than I hope for.

1 Like

After having spent quite a bit of time playing around with the new PCG plugin, I am quite happy that I can basically pull off exactly what I proposed over a handful of years ago. The current PCG is going to take quite a bit of work to fully streamline, but it’s extremely promising so far and I’m loving it!

Yeah, I know this is one hell of a necro but I just happened to remember it while working on a PCG system. I’m building a system to create coarse resolution grid of the world to check for “hours of sunlight exposure” based on traces and time of day weighting(think watts per square meter being high at noon vs 8am), to then place certain types of assets like shade trees or assets with unmelted snow. Just kind of thought it was funny that I had one of those history repeating itself moments.

1 Like