Playing a lot of recent FPS games, so many of the textures look really high res, especially up close. Is it just a matter of using 4K textures, or are there more techniques being used? I feel like whenever I use a 2K trim sheet, it looks great in third person or so, but if you get as close as you would get in a FPS, it doesnt look as good as games do nowadays. Any advice?
Replies
http://wiki.polycount.com/wiki/Detail_map
Typically a color detail map is just a small grayscale tiled texture, and it's multiplied/added onto the regular diffuse, but it tiles a lot more. This makes it MIP out pretty quickly, so you don't see the repeat on more distant surfaces.
if you don't then texture size very much is a concern and 4k maps are generally something you want to avoid
I have seen a better explanation elsewhere but this is what came up with a quick google now it dates back to 2020 and i imagine its made its way into quite a lot of proprietary engines by now.
https://forum.xboxera.com/t/a-more-detailed-insight-about-sampler-feedback-streaming/3543#google_vignette
either way though, as I was trying to explain to some render programmers a while back, authoring really big unique textures is much less efficient and manageable as a workflow for most assets than using tiling maps, mask blending and detail shaders etc. so even if we could chuck infinite texture data at problems, we still wouldn't want to.
Just because "4K" (meaning 4096*4096 really) is a thing doesn't mean that using "4K textures" is necessarily enough to carry something like a full character on screen. If anything, conservative/old school techniques consisting of splitting sheets logically and tightly is very much current and will not become irrelevant anytime soon.
PR videos or "breakdowns" from youtube tech commentators claiming that this or that new engine feature allows to not worry about this or that aspect of asset authoring anymore are either just misleading marketing ... or claims from people who have never worked on a game asset, ever.
For instance here is the texture breakdown of a hero character that someone extracted from Marvel Rivals. The incredible visual quality of the characters in the game comes more from the strict and clean approach taken than from textures being "4k". As a matter of fact the individual textures are 2048 max ; but of course *as a whole*, the character is very high res both model- and texture-wise. The results are really quite stunningly beautiful IMHO, both at native res in character select as well as scaled down during third person gameplay.
Doing things that way is also very beneficial in production. For instance the way the flesh parts of the upper body have their own dedicated 2048 sheet undoubtedly makes it very easy to edit/update/replace them if needed without having to deal with other irrelevant parts of the character.
So in many ways things haven't changed much over the last 10 years of game art evolution : breaking things down cleanly and logically remains the way to make well optimized high-end assets looking great on screen and up close.
(And for assets that do fit within a single 4096 or 2048 layout, it is always a good idea to divide the UVs/texture sheets into even quadrants regardless as this allows for splitting or re-atlasing things later if needed).
When the number of texture samplers and draw calls are limited (limited hardware, standalone VR), Keeping an entire character on one sheet can really help. On top of that, there's heavy use of texture atlases and arrays for environment stuff.
Ofcourse, that's not the average usecase, but still important to bring up for those working in VR.
Given that it's not the bottleneck, downscaling has no performance benefits. It just so happens they were authored at that resolution, and we were never forced to downscale unless on older headsets. Which brings up another interesting point: Our Quest/Android builds also look better than in-editor due to a different texture filter, less prone to blurring at glancing angles, which really helps given the inklines and block colours of the style. In this case, it also really helps to get that resolution boost, given that you can pick up creatures and rub them against your eyeballs.
About grouping and all : Outside of tech specifics is still think that even when using a single texture, grouping things in "sub-squares" within the layout is a good habit (even keeping a few small areas unused just in case). It certainly saved my butt a few times when having to go back to an asset for further editing, or even straight up adding a new element.
If anything it also helps with outsourcing, as providing a "pre-layout" loosely indicating where things should go in the UVs makes things more predictable ... and easier to fix.
Very interesting stuff about the VR specifics, thanks for sharing !