Download

How to automate the generation of LODs for World Composition Tiles?

So, I think the title is quite explanatory but here is the background story:

I am using world composition with a large landscape, 273 tiles in total, built with a real-world location heightmap.

I would like to know if there is a way to generate the 4 possible LODs for every tile (all tiles will have the same exact settings) through python editor scripting or blueprint editor scripting (bluetilities) ?

I know I can load a certain number of tiles, open level details and it will generate the LODs for all selected tiles. The problem is I have to do it in batches, since loading all levels and doing the generation is just going to kill my poor 16gb ram and as a programmer, the idea of having to do this type of thing manually is truly… maddening.

In the documentation, it says I can generate static mesh LODs using editor scripting, but can I do it with levels/umaps ? I can’t really just cast a umap to a static mesh and do what they do in the docs… And I, tbh, have no clue how to access the landscape “mesh” or if creating static mesh LODs and landscape LODs are different ?

I haven’t really been able to find the way to do it, if there is one… I just really hate the idea of having to do such a task manually - what happens if it needs an update/ a change? Do it all over again? Sounds pretty unreasonable…

So, if anyone has dealt with this before, is there a way to make it less a “mind numbing”/“soul killing” process

Script a system with auto hot key and let it run overnight.
did that once of 11k tiles. About the only thing you can do that I know of.
doubt someone will say otherwise, but I do kinda hope so.

Thank you for the suggestion! Will look into it! Anything is better than manually going through it all again…

After losing my mental sanity for a day to do this thing manually, I found another frustrating issue: the LODs themselves. More specifically their collision: as a tile loads, I want to spawn particle system emitters along a spline, but to do that I need to know the** height of the landscape along those splines points (**I only know the x, y).

Before adding the LODs, everything was working fine: for every spline I wanted to spawn, I would do a LineTrace (for every single point) to get all the Z values. The problem is LODs’ meshes don’t seem be detected by LineTrace

I have tried a number of LineTrace combinations: by channel & visibility , complex, by objects (with world static), etc. And even I make sure the LineTrace start point has a higher z value than end point.

Is it the Collision Prims being 0? Does it also need to be generated for each LOD ?

You can always just open the mesh and add whatever collision type you want.
obviously avoid complex as it would be a lot of weight on a 7,200 tris mesh…