2) Instance baking is definitely on our to-do list. We are still thinking about possible approaches for this. If you can think of a good approach do let us know. As far as I know, there's no instanced static mesh asset type in UE4. One way to bake instances would be to generate Blueprint with attached instanced static mesh component and embedded instancing/instanced mesh information.
… Can you please elaborate more on ‘Basically to just use point locations for item placement’ ? …
Thanks for the in depth response, I appreciate it.
Yes, I think the blueprint approach would work.
Here is a screenshot with two possible additions:
These are some of my unfiltered thoughts on mesh instancing and blueprints with the Houdini Engine in Unreal:
-The user presses a bake button in the new tab from the screenshot
-Instead of a static mesh added to the content browser, it adds a blueprint to the content browser.
-The blueprint consists of a root with instanced static mesh components
-The amount of these components is equal to the number of instanced inputs on the HDA
The setup described above could also be used to allow a third file input, the one marked in red for blueprint actors, as an input for the HDA.
Instead of adding an instance static mesh component, it would add the blueprint input as child actor
components to the Houdini blueprint.
The user would have to act responsible for performance here because dragging in a blueprint with a point light and spawning 1000 point lights might be a bad idea.
Example that uses the different inputs and how it might result:
A single HDA to create a landscape with 1 geometry input for a castle, 1 instanced input for flowers and 1 blueprint input for point lights:
-The landscape gets created by using the HDA and Houdini engine with sops (grid > mountain sop etc.)
-The geometry input for the castle, which is a mesh already sitting in the Unreal content browser
-The instance input is used to place flowers on the landscape
-The blueprint input is used to place 10 blueprints with point light setups around the castle
The generated blueprint would have (I think) 14 components:
-a root component
-1 static mesh component (the landscape baked by Houdini)
-1 static mesh component (for the castle)
-1 instanced static mesh component (for the flowers)
-10 child actor components (for the blueprint inputs with lights in this case)
Maybe the user could have some freedom in deciding how the result should be organized by having the outputs separated,
but in theory it could result in a single blueprint.
But point lights is just one example. When blueprints can be used for inputs, entire gameplay events, post processing volumes, particle systems etc. could be
procedurally spread across the landscape this way with Houdini. A procedural building could now have scripted elevators by using blueprint inputs instead of just an elevator mesh.
Thanks for reading, I hope I was eloquent enough to convey some of my thoughts.
If there are some fatal flaws in my way of thinking about this or if it's all way out of scope, please let me know.