What is the “Epic” way of doing modular buildings when it comes to breaking repetition? We are building big city-like environment separated into isolated tiles with a big number of buildings. Our requirements are:
1) rich variation of building shapes
2) being able to reuse same buildings in multiple places
3) being able to edit buildings in a centralized manner (==building templates)
4) being able to add unique artistic polish to each building instance
We invested into modular building composition with templating by using Packed Level Actors (PLA). Right now we have a big number of unique buildings built from ~6m modular nanite pieces and packed into PLAs. This workflow closes requirements (1)-(3), but we just cannot figure out what to do with (4). Our environments look “plain” and “repeatative” and Art direction expresses a dire need to have an ability to add a hand crafted building-instance-based variety to the environment the way we did prior to Nanite: blended materials + vertex painting to add dirt, stains, stucco/brick combinations etc. Given our current pipeline we can’t figure out a way to achieve this and need an advice.
Because we use Nanite, we obviously can’t use Vertex Painting. Our original plan was to migrate to UE5.5 and use Mesh Painting to enable blended materials on our Nanite environments. Recently we did some prototyping in UE5.5 and it seems Mesh Painting is not available for Instanced Static Meshes (ISM), And ISMs are PLAs’ core. So our initial plan is invalidated. How should we proceed in our situation? Is there a setting we’ve missed on Mesh Painting that would allow it’s usage on ISMs? What is “the epic” way of doing modular buildings?
Options we considered:
- Wide decal usage to add variation? We have an impression that it is advised against using decals with Nanite because of performance implications. Though how bad this really is?
- Usage of masked opacity meshes instead of decals? Same worries as above.
- Merging buildings with the “Actor merging” tool? We will lose centralized modification ability, increase memory consuption because of prolifiration of huge unique building meshes instead of modular piece ISMs.
- Breaking PLA into separate mesh actors to paint them as a final destructive touch on the environment? This would make the game heavy, right? Because no ISMs, huge number of actors.
- Use meshes to add details? It is just not “smooth” enough.
- Make more modular piece variations and produce even more buildings variations? Basically balancing building template reuse vs building uniquness. Even this way individual modular pieces would feel repeatative. And introducing each new set dressing to the same buildings would cause a combinatorial explosion of either modular pieces or buildings needed.
- Fancy procedural materials with CPD, world coords, actor coords, normals, etc?
- Some custom tool to produce low-res volumetric textures that would be somehow injected into a material of each individual building PLA instance to emulate instance MeshPainting. How can it be implemented?
- Any ideas for possible engine modifications?