I’m really loving the new native procedural foliage volumes, but am finding them to be quite buggy and not quite as cohesive as some more focused world-building tools like Gaia Pro (on the unity side). Wondering if anyone has any suggestions for a plugin/toolchain that is available for Unreal which would help solve the problem of proceduraly placing trees on a large landscape, ideally with support for ‘biomes’, or collections of foliage types. I feel like I’ve seen plenty of middleware for this in the past but am coming up empty at the moment in my search.
look at the freebies this month
there is a procedural biome set
I believe houdini does this with custom meshes/foliage. Youd have to at a minimum review some tutorials.
Sincerely, the best toolset is the one you make yourself.
In my case, I work in blender and then manually processes batches of foliage (transforms) into the engine (or not just ue4 but anything else really, that is kind of the point).
Thank you, this is very helpful - I am definitely not adverse to learning a new toolchain and doing some research. One part that I am a bit fuzzy on is how ‘deep’ the integration is between Houdini and Unreal is - can Houdini spawn native foliage objects onto terrain in unreal, or is it limited to regular meshes? It’s fairly important I can stick with ‘native’ object types where possible in my case.
The blender solution is definitely something I could dig into as well, but largely have the same question: is the ability to spawn foliage objects onto the terrain something that is exposed via blueprint so I could string up my own little tool for taking the object positions from blender and create the foliage in editor?
I feel like your suggestions are definitely a direction I would like to explore further.
Yes and no. You have to pre-populate the foliage tool with the meshes to use, and then you can add instances of the specific mesh at the correct location/transform via bluetility in batches of 100 to 1000 at a time.
It’s not complex, it’ll take you about an hour to script it up. The complex part is bringing in the list of transforms, but blender is Python so creating an export script is rather trivial.
Ah yeah, that makes sense to me. I’ve done a bunch of transform-based spawning stuff in the past so that should not be too terribly difficult. I’m curious about the batching - I watched a few tutorials on adding instances to the AInstancedFoliageActor, and that all makes sense, but didn’t see anything re: the ability to batch these. Do you happen to know what function I could search for for that part of it? Thank you for your help.
A for loop with a limit of 100 and a manual break ehich you connect to a custom event in which you tick the editor call button will do the trick.
The editor is a b*7ch when it comes to loops. Often cutting you off by “insiting” the loop is infinite when it really isnt, which is the hardest thing to work with about this whole process.
(If you can, consider scrpring the function in c++ to avoid the loop limits of blueprint).
The process between spawning one and spawning 1000 is identical, you just have to feed it the correct data is all.
Ps:
You can optimize the python script export to make sure you dont have similar locations. Avoid spawning instances on top of one another that way.
Ah, yeah I understand you now. Yeah, the editor realllly does not like you doing big loops. I have definitely pushed that to the limit. You can set the limit higher in the project settings (or you could in UE4, not sure about 5).
You can, but it doesn’t really work for blueprint. At least, I always hit limits way before the settings whenever I try and do something “cool”…
i just output texture maps from world creator and then use the foliage placement brush in unreal, and set landscape layer filter restrictions for the foliage.
it’s fast, simple, fool proof, and doesn’t require you to ever wait on a process to finish. And what you see is what you get, which is nice.
if you are handy with the material graph you could probably pretty easily generate the textures in unreal. Just basic stuff like check for slope, height, tweak some procedural noise, etc.
i’ve found this to be efficient for maps up to 16x16km km.
i was already using world creator to generate the landscape heightmaps though. if you only need some foliage population rules to follow you could probably just output your heightmap from unreal and tweak it in photoshop or where ever.