-
create a separate material to use for the hlod or don’t use the hlod.
-
don’t think it matters.
-
ideally merge sinplified, but again hlods never work.
-
part of why they never work is the lack of proper documentation. But… thats the Epic way.
You should just ditch the ststem and set it up as a custom replacement. The idea solution is to gather up the instances and bake impostors manually for aggregated groups.
If using Landscape (which why are you anyway?) Then i suggest you manually break up the instances to fit within landscape components.
Each component will contain its own set of instances that you merge down into a single actor, re-factor to use a lighterweight material (or just use octohedral impostors on the group).
The replacement system can be fairly aggressive, but the engine will stutter when you suddenly add/remove (which is more appropriately hide or make visible) 1000+ instances;
Thats a CPU limitation from doing things manually without an async thread mostly.
If you are able to set up a function which is able to run in parallel and batch process instances you should, it would make for far less hitch while you perform swaps.
You can look up octree stuff to base your definitions on how to properly split the meshes up and aggregate them.
You can get the engine to merge meshes at runtime - but you don’t really want that (mostly because it costs too much anyway).
The reason you want Manual replacements is that you can control the end output; tris load, associated LODs, mips, materials, etc… much better when you set it up manually.
When dealing with crazy forests (billions of trees)
I usually do group meshes for the trees base 10 on instance count.
So 10 trees become 1 block of 10 trees, 10 blocks of trees become 1 block of 10 blocks of trees and so on.