Home Technical Talk

Medium prop texturing help

Asim7
polycounter lvl 9
Offline / Send Message
Asim7 polycounter lvl 9

I am working on a modular FPS environment for UE5

I have this couch a medium sized prop.

The player can get up close to the prop.

How would be the best way to UV and texture this asset?

Would you try and fit everything into a single texture or split it into 2 materials with the cushions being 1 texture/material and the bench wood/metal another?
















I feel like I might be running out of UV space, I even tried splitting the bench in half to mirror it in the UV.

For a optimized game asset, I think it should all be in a single material but how?

Replies

  • Eric Chadwick

    Lots of ways to tackle this. Personally I would lean towards using a trim sheet to make this prop, since there are many repetitive elements.

    This is good approach if you have other props with similar elements. Often a good idea to use similar elements for cohesive set design.

    And this approach means you can use a single material for multiple props, while still getting a lot of variety and texture detail.

    You could also combine the trim sheet with a multi-texture blend to add location specific wear/dirt, and to break up repetition, using vertex color to control where the dirt/wear appears.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    Thanks, I'll look into doing that then :)

  • Kanni3d
    Offline / Send Message
    Kanni3d ngon master

    Pretty rare that environmental props use uniquely baked/unique unwraps for their visuals anyway. Lots of trim sheets, procedural textures in combination with masks and second UV channels to help blend assets into the enviro without looking too repetitive.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    I'm having some problems with making the Trimsheet work with my models. I tried reading through the wiki and a lot of other threads and videos but haven't been able to figure it out :(

    I have this model, it's a modular bar counter.




















    Now I've made a quick trim sheet




















    Some problems i'm having, and they are probably easy to fix but I can't for the life of me figure out how to do it the correct way :(

    The Trim Sheet is tiling horizontaly, so how do I make this surface tile for the modular piece when it can't fit the shape??











    I also get these seams on the Normal Map around the edges, even though everything was laid on on the grid and I have snapped everything on the UV layout via the grid as well.


  • Eric Chadwick

    Two options:

    1. You can make larger pieces which fit the full width of the texture.
    2. You can make the texture tile in smaller increments. Make a smaller sub-texture which tiles to fit meshes at this width, and UV the mesh to fit that small texture.
  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range

    You could also model the whole counter asset and UV it to your texture.

    Regarding shading: Make sure you control the it by placing hard edges. The smooth shaded edges will not look good combined with the trims normal map, as it doesn't match the meshes shading it was baked to.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    But I want /need it to be in modular pieces not as one asset?

    Im not sure what you by the shading, those are hard 90 degree edges? But it's like the trimsheet normals are bleeding into each other or something.

    When I snap the UV's to the UV grid lines, same settings as I used on the viewport grid when making the trim sheet. There is like a soft pixel area, So when I snap the UV's they seem to bleed into the other normal if that makes sence?

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    I'm guessing you mean extend the length of the asset, like the counter being 2 meters wide instead of 1?

  • Eric Chadwick

    Yes. Although you still need to solve for end pieces, corner pieces, curved sections, etc.

    One solution is make a smaller segment of the texture tile with itself. For example here's a square within the longer tiled texture:


    You can make that square tile with itself. And the longer trim still tiles too.


  • Eric Chadwick

    You could also make your trims have no grunge detail, so they are just bevels and colors. Then use a blended multitexturing approach (controlled with vertex color for example) to add a tiled grunge texture whereever you want.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    Thank you! :) I'll definatly try to do that approach and the smaller tiles within the trim sheet as you mentioned also makes sence to me. Now every meter is a square in the trim, so I can kind of understand the dimensions a bit better :)

    Any idea how to use the trim sheet on the hard edges to make the seem look like a smooth transition without having to bevel and add extra geo?


  • Eric Chadwick

    Often it's fine to add a bevel, and edit the vertex normals so they point straight out from the larger faces. Then the normal map doesn't have to work so hard. You can even get away with not using normal maps in some cases

  • chien
    Offline / Send Message
    chien polycounter lvl 13

    normal map look fine

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    Yep if i add a bevel and use smooth shading etc, the normal map won't really be needed. But I was hoping to not have to bevel so many edges on my models, especially if I'm trying to keep it low poly.

    Watching the tutorial / talk by Morten Olsen on how they used trim sheet on Sunset Overdrive, I was under the impression that I could use the normal map on the trim sheet to make soft bevel like transition on even hard edges?

    This is a low poly sharp, hard edged model that I baked a unique normal map onto. The hard edges are basically completely gone.

    I was hoping to do something similair with the trim sheets, to keep it low poly but with the efficiency of trim sheets for texturing.

    This is the closest I have gotten it, but it was a lot of fiddling around and it dosn't seem like i'm working the correct way. I'll try to watch some more tutorials, I just feel like I am doing something wrong :(


  • Eric Chadwick

    How did you create your normal map? Did you bake from high to low, using UV breaks on the low wherever there are hard edges?

    Sunset Overdrive used a special shader technique with deferred decals (iirc, can't remember the exact technique name), so they could superimpose normal maps for bevels.

  • Eric Chadwick

    Oops I was misremembering. I was thinking about the deferred decals technique from Star Citizen. Explained here https://polycount.com/discussion/comment/2357033/#Comment_2357033

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    I baked from High to Low in substance, not sure what you umean by UV breaks on the low wherever there are hard edges?

    If you mean splitting the UV's on the model example above into 3 seperate UV islands then yes I did that :)

    This is from Sunset Overdrive, the PDF and Video Talk explains that they are just using the normals from the Trim Sheet to make the edges look bevelled, no decals etc.

    I read somewhere that to make this work, you would need all your normals to be a exact 45 degree angle and not line up to the other angled edges so there is no color bleed between them (purple & green for example). So I guess i'll try and see if that works.

    I might also just be working way to hard to not bevel edges on my model, I just prefer being efficient as possible when it comes to modeling and not having to many bevels if it isn't needed.

    I'll have a read through on the Star Citizen link you posted :)

  • GlowingPotato
    Offline / Send Message
    GlowingPotato polycounter lvl 10

    Its really nice and important to learn and practice new techniques. But it's also important to preserve your mental health ^^

    Unless you are developing for a specific low budget device, I would recommend to burn your brain cells on more important stuff that will actually make the final result even more impressive. Today GPUS and consoles are pretty good at handling a lot of vertexes.... A LOT. And the future is right after the corner.

    So, beveling will save up time and have better quality. I do suggest you to learn the technique, your understanding of general 3D will improve.

    But beveling these corners will have no impact on performance on modern devices.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    Yea I think you're right, I've been working on this environment for 2 weeks and made great progress but now i've spent the past 5 days trying to make this work and the amount of time spent I could probably have spent working on finishing it lol.

    I did manage to make it work, but not perfectly. It's a lot of work to make it look right, I have to adjust the UVs a lot. So I will probably do as you said and bevel instead :)


    The result I ended up with, hard edges but looks bevelled. Way too much work though, unless I find a script or a better way going about it. Maybe I'll look back into it when I finish the environment.

  • rexo12
    Offline / Send Message
    rexo12 interpolator

    You will get faster with practice, the longest bit is just getting your head around the new technique. You do just need to force your way through it.

  • Asim7
    Offline / Send Message
    Asim7 polycounter lvl 9

    Thanks, yea it's just working until it clicks in your mind and it all makes sence :)

    I still got quite a few areas that just confuses me for some reason.

    Like this simple example, how do I connect these polyfaces in the Trim Sheet without each one of them doing their own bevelling?

























    I managed to make all my hard edges look beveled, but it's such a time consuming thing because I have to back and forth and scale the UVs until it looks correct. Surely that can't be the right way? I know I can simply bevel the edge, but sometimes I got minor cuts and I don't really want to have to bevel everytime basically doubling the polycount of each model when a normal map / trim sheet is capable of doing that if I could just figure out how it works without. Sigh.. I just kind of feel like i'm going in cirkles around the answer lol


Sign In or Register to comment.