Hello everyone, hopefully I'm posting this in the right area.
As I've posted a few times on these forums, I'm remastering a game called Dragon's Dogma, with the goal of creating 4k textures that match the originals as much as possible, without using AI upscaling. The game uses the old style of texturing, with Diffuse, Specular, and Normal maps, not PBR. I'm not a very good or experienced artist, but I've become at least a little proficient with GIMP over the last 3 years that I've been trying to improve the game.
How would one go about re-creating relatively low res textures in HD, that have a more photo-realistic style to them? I know much of it is artistic ability of course, but I can't quite wrap my head around how someone could hand draw something in an HD, photorealistic style to match a lower resolution image without insane artistic skill, which I do not have in the slightest. I know Substance Painter is supposed to be very helpful, though I had some trouble with it on my PC, and I couldn't fully figure out how to use it effectively.
There are 2 artists I draw a lot of inspiration from that I'll post YouTube links to, so anyone who's interested in giving me some advice can get a feel for how close I'm wanting my textures to match the original style. In short though, my Gold standard for my reworks is that up close they look very detailed and not pixelated, but far away they match the original texture close enough that you can't tell it's been re-done.
One of the artists remasters an older N64 game, Majora's Mask. In that case, I understand it's a little "easier" to hand draw them to match since the textures are much more stylized for a game like Zelda, but the other has been remastering The Witcher 3, and I can't wrap my head around how he makes so many textures beautifully detailed, and in most cases remains very faithful to the original look. I sent a message his way a little while ago and he has yet to answer, so I thought I'd reach out on one of these forums to other experts.
Here are links to their channels:
Thanks in advance to anyone able to offer some advice! I'm typing this post pretty late at night where I'm at so sorry if I don't see any replies right away!
Replies
@LDKSuperDante I think you can cover a lot of ground by experimenting with "detail textures", which are secondary textures used to add more noise to a base texture. They can be used on top of any maps be them diffuse, specular, normal (especially normal, as they affect lighting the most) by being blended in different ways with the base texture. You can use multiply, overlay, alpha blending etc. basically anything that looks best for what you want and can be done in a shader.
This would let you use the original low-res game textures + new detail textures authored by you to get that HD noise when up close. These detail textures must be faded away as the camera pulls back, otherwise you'll show the excessive tiling of these detail textures when seen from far away.
Some links:
Edit: as for how to author these HD detail textures, you can follow modern texturing workflows using photographic sources. A good place to start is @Joost 's texture ninja: https://texture.ninja
Hi again, I need to correct these two things where I dropped the ball:
- I said "modern texturing workflows using photographic sources", but that's actually the legacy workflow. The modern one is using Substance Painter to create procedural textures (pretty much infinite resolution, if you're not using any raster maps in your nodes).
- When blending a detail normal map onto a base normal map you need to use a formula that takes the vectors into consideration (search online for "normal map blending shader"), because normal maps are data textures where each pixel encodes a 3D normal vector. If you try to use any traditional blending modes like multiply, overlay or even alpha blending with normal maps you'll get bad results.
There we go!
Thanks for the advice! I'm not sure if that's quite what I'm looking for with my textures, but that could come in handy later. I didn't know these kinds of textures existed.
Regarding the texture creation process you might get some ideas by checking out the polycount wiki.
I would start with the diffuse, then create a matching normal and specular last. Also, I would isolate a small testing environment, like a house?
With the diffuse you could blow up the original texture to desired resolution, then layer textures on top in a way that match the original (color, brightness and contrast).
Once the diffuse looks good, you could create the corresponding normal. Creating it from the diffuse with a filter or a program might be fast, but often results in a not so convincing, noisy normal map (better results when the diffuses' values match the height, so depends on the source). You will get more a more convincing result by creating a height map that matches the diffuse and generate the normal from it. Check out the normal map section here: http://wiki.polycount.com/wiki/TexturingTutorials.
You could also create a heightmap first and gradient map it to get a diffuse texture starting point.
Once you have both diffuse and normal you could use different filters and adjustments to create the specular map. Here I would extract rules from the original specular texture.
When you are modding the game, implementing detail textures is probably not trivial.
Much success with your project 👍️
i wonder, why don't you want to use AI upscaling as a start?
i mean okay if its a personal challenge, so be it
but besides that? i would totally start with testing what AI does, and even if its just to learn what it does good and what i feel could be better.
I've been using Gigapixel AI for 3 years, I just grew dissatisfied with it after a year or 2 and wanted to make textures that weren't obviously upscaled. Upscaled textures have a very distinct dead giveaway, they always look crusty and waxy.
Thanks for all the info, I'll check it out and see what I can learn :)