I'm currently in an extended evaluation process for Houdini Engine in what I would call a “procedural started” pipeline for UE4. The idea behind the goals of the pipeline would something where I can get most of the way with a procedural pass, then have freedoms to edit, with the ability to wipe it all away and regenerate content later.
My understanding based on a few weeks of learning about the Houdini Engine pipe is that this isn't possible and I wanted to verify that and see if anyone had any suggested solutions beyond the ones I have looked at currently.
The example scenario is a pretty straight forward one that I am trying to solve around. The idea of inputting a terrain and having Houdini Engine scatter plants, foliage etc and export those back out to UE4 as instances. I understand currently that there is no way to force those instances to be a part of the “foliage” system in UE4 (which is how their own procedural growth system works). What I get out of the pipeline is a ton of procedurally placed meshes but I am trying to figure out how to edit/save/work with that data.
I've done some general tests and have a few pretty messy solutions and I'll list them below but I'm curious if anyone else has alternatives/suggestions or even a method I haven't thought about yet. The thing I truly want to avoid is a generated environment that I cannot work on top of.
Solution 1: Instance Editing Plugin
The UE4 marketplace has a plugin that allows for simple duplication, placement, and transforms of instances. It's do-able but very unstable, and any edits I make stay a part of the instance mesh component which then get blasted away when regenerated.
Solution 2: LOTS of Volumes for inputs
Kill volumes would probably be necessary anyway but this could also be used to generate masks to hand spread VERY specific assets in spots. Not ideal but some level of control.
Solution 3: Blueprint assist
This is a pretty non viable solution but the idea would be to have a separate construction scripted blueprint take the data from the Hasset and work with it. I've tested this thoroughly and unfortunately it fails to do anything useful. Specifically, you can't remove components or instances generated this way though construction script and you cannot remove components as well. This means that you can “copy” the data but not keep it. And the actor it was copied too must be re-deleted by hand every iteration. Finally the instance editing plugin also breaks when moving instances in components touched by construction scripts…
At this point I'm pretty out of ideas. I've tried hand copying the data into the foliage system UE4 has via construction script which works, but quickly breaks and crashes. I think the only viable option would be “generate” most the assets, and hand place others using the UE4 foliage system but that is double the draw call count theoretically which isn't a great idea
Anyway, any suggestions would be great. I have similar complaints/issues with the terrain pipeline (how can I ever place foliage on a terrain when it gets recopied and duplicated without the ability to copy instances over to the new terrain) but I see huge potential in procedurally started content like this so have not fully given up just yet.
Thanks in advance!