Home Technical Talk

[UE4] Modular texturing approach advice required

polycounter lvl 8
Offline / Send Message
Filip5 polycounter lvl 8
Hello guys,

I am working on some modular stuff inside UE4. I have managed to create material, which I would like to apply to most static meshes. Now the texture itself is just a plane.

It is altough created and baked in substance painter. Now I did create a master material in UE4, which isn't so heavy taking into account that it is scaleable, can be offseted, using bump and is combining 3 materials into vertex paiting. 

It could possibly get quite heavy if I had to create new instances for every new mesh. So my first question goes, whats the best way to texture multiple meshes with as little textures as possible. I dont think world position would work here as intended.

My second question goes for modeling itself - lets say I am doing a tower. Would it be better to do it completly highpoly (speaking of one floor due to modularity) and then decimate ( which might be quite heavy on pc), or should I just do highpoly parts as windows (decimate afterwards) and use flat surface for walls ? I always feel like if you dont do the highpoly, then bricks, cracks and so on will never fit properly. This is what confuses me so I rather ask straight away... 


  • Filip5
    Offline / Send Message
    Filip5 polycounter lvl 8
    Okay guys, so I tried to do some modular assests. Here I will post 2 different projects with different parameters. I am going to post few wquestions alongside, hopefully to make things better. Lets start with the more optimized version.

    Altough the overall polycount is low, the shape is not really poping out. These are basically flat walls with textures applied to it. I ve managed to cover seams with vertex painting, hence each object got about 140 vertices. The edge bricks are hovewer visible, as they are inserted one by one in there. It is a lowpoly brick asset, finished with vertex painting. 

    For the second set of images, I do have a castle, which got nice silouhette all by itself. Altough assests are modular, their polycount is quite high. It is about 14 k verices per object. I can say its getting quite heavy on memory, but probably UE5 could handle it easily ? Also, I just blocked out the layout and would like to proceed towards more details and non brick shape, as it currently looks more like minecraft than 3D model.

    So what my concerns are, and to connect it with the original post. In my opinion, this huge castle loosk much better thanks to those details poping up. I am just probably going to render images out of it, but I would love to see it as playable area just for myself. I will add more assets, materials and so on, but it is getting alredy heavy. I could possible bake texture into plane wall, but I would probably loose details and look of it that way. Should I optimize the meshes more, or maybe use LODs ? How can I keep the look of it but make it less heavy ?

    These modular assests were done it blender, creating highpoly, copying it, decimating and baking into lowpoly. It sure does look good, but got my computer frozen few times, with 32gb ram. I guess there might be some other approach to create assets like this ? Seems like I wont be able to do some more complicated objects because of vertex ammount. 
  • Eric Chadwick
    Too much detail per piece IMHO. Use mostly flat meshes, and only put the detail where it will be obvious.

    Can you show shaded wireframes please? The flat wall, the detailed wall, and the brick(s).

    What photo reference are you using for inspiration on the overall castle shapes? Don't forget to think about the addition of more detail meshes to hide repetition and add visual interest... vines, wooden structures, barrels, piles of hay, etc.

    Here's a similar example for possible inspiration.
  • Filip5
    Offline / Send Message
    Filip5 polycounter lvl 8
    Hello Eric, I am posting wireframe of brick, Wall with less detail ( I used destroyed part here but you can guess geometry of solid wall based on that) and wall with more detail. Even the lowpoly wall does have some extra vertices due to vertex painting. And for the refference image, I am adding link. My aim here is to make the damaged walls, not necessarily trough modularity, but I do have quite a lot of issues doing it other way. I dont know my way around substance designer, even if I tried, hence why I have chosen modular approach. I had a lot of issues with lightnig as wwell, but seems it is gone with modular approach. Anyway, the name of the castle is Uhrovec castle, if you want more images.

    Refference image: https://www.obnova.eu/wp-content/uploads/2020/07/IMG_9515-Uhrovec-scaled.jpg

    I have also checked the tread about pirate castle back form UDK. Its really nice one, altough guy is covering up seams with wood pieces, something I would like to avoid.

    For the last part, this is what I found on epic marketplace and I have to say, its really nice. And the density is also quite hight. But I have no idea how they achieve it. Might be photogametry, not sure... I was going for something like that, but as I said, not clue how they done it.

  • Eric Chadwick
    Bottom example does look like photogrammetry.

    Your higher-poly wall is pretty wasteful, has lots of unseen vertices between the bricks. 

    Since this is a portfolio piece, optimization is really not all that important. Just make it look great, that's 98% of how it will be judged. Only 2% of the opinions are going to be about how many verts. Focus on the 98%.

    If your hardware is struggling, then yeah get in there and optimize. I bet a bunch of the details you're working on will not be seen, so you can get a lot more aggressive with optimization than you might think at first.
  • icegodofhungary
    Offline / Send Message
    icegodofhungary interpolator
    I could be off on this idea, but I think you're being too modular. When I first started doing modular stuff I would break everything down into squares because I thought that was the point. But the real point is to break things down into manageable pieces, not necessarily squares. The example of lego is used often but I think it can be misleading. You don't always make the lego bricks and then build your stuff in-engine. Sometimes it makes sense to use lego bricks to make larger piece that is modular itself.

    What I mean is that I see a lot of 4x4 square walls in your piece. I rarely see a 1x1. Instead of importing a 1x1 and building a 4x4. Just make and import a 4x4. Even better would be to build smaller towers and room details and import those as whole pieces. This will save you the time of building everything square by square in the engine. It also is supposed to help with memory a little bit for technical reasons I can't quite explain. Something about the way the engine loads in meshes when they're on screen or maybe it's about textures and materials. Either way I've seen/heard/read that it's better import larger pieces when you can rather than just build everything out of squares.

    Plus it's better for your lighting too because light maps aren't having to interpolate across seams. Though with dynamic lighting and GI in UE5, this may not be an issue like it was in UE4.

    Don't be afraid to use blueprints either. When you get in the engine, don't manually place all your pieces in the scene. Build things out your pieces like rooms, towers, etc, and then turn them into blueprints. That way you don't have to copy/move all those pieces. It'll be stored as one prefab you can copy/paste/select as a single object. Like this:

Sign In or Register to comment.