Home Technical Talk

secondary props for games

polycounter lvl 6
Offline / Send Message
hassansheded polycounter lvl 6

every tutorial out there speaks about the hero assets that of course use unique textures, but what about secondary assets, assume i want some barrels in the scene, even if i had the time to texture like 5 different barrels it won't be possible to load 5 different texture sets, so what is a good workflow for the secondary props that are just used to fill the scene, how can i get enough variation without using too many textures?


  • rexo12
    Offline / Send Message
    rexo12 greentooth

    This is kind of hard to answer because there's a lot of different situations that call for different approaches. This depends on the level of detail you need, how visible the particular prop is, how often you want to repeat it, and (as you say) how much time you have. Out of the gate you seem to be asserting that its a given that every instance of an object in a scene needs to be unique in some way, which I don't actually think is the case. Plenty of props can be repeated and instanced as-is, in fact I'd expect a barrel to be one of them.

    Beyond that, solutions will involve using procedural techniques in-engine to introduce texture variation. Often you're more concerned about breaking up pattern repetition to fool the viewer into mentally separating like objects, rather than introducing truly unique variation. This means you're usually modulating the tertiary details in your textures.

    It's common to use some kind of mask overlay with position based gradients to add effects like dust that collects on the top of surfaces. This can be used to contextualise props with the rest of the environment around it, separating them from their copies (e.g. A barrel covered in mould from being left in the rain vs one undercover in the next room, pristine). A cheap trick is to modulate the albedo of your prop, darkening or brightening it slightly according to some enormous world-aligned noise. This can help with clusters of copied props.

    Where more art-directed details is needed, you can use packed masks to specify areas of textures to drive in-shader. Some of the starter content props in Unreal Engine uses this: https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/HowTo/Masking/

    and finally if you really do need significant variation, you just hand-make those variants. Not unreasonable to make 2-3 variants of a prop that's going to occur frequently.

    Obviously these techniques get mixed and matched as needed, too.

  • Fabi_G
    Offline / Send Message
    Fabi_G polycounter

    Hi! There are many ways to go about it.

    It makes sense to keep the generic use in mind when making design decisions.

    You can assemble similar props from a kit using one atlas. Similar to that, you could create an texture atlas for a set first, then map lowpoly UVs to it.

    Variation to the surface can be added using material instances with different parameter values (if set up in shader).

    For static assets, you could add varition by using their world position or project a mask in the shader to vary the appearance.

    Storing masks as vertex color is also an option. This can be done in 3d program or in the level.

    Decals can be used to further add variation like damage or writing.

    I'm sure there are more options I didn't think of.

  • hassansheded
    Offline / Send Message
    hassansheded polycounter lvl 6

    thank you very much, this was really informative

Sign In or Register to comment.