Jump to content

[LE] PBR textures (Quixel) for Skyrim? Possible workflow?


Algabar

Recommended Posts

We all start with a tad of grayscaling :wink: For more effect, try to contrast the living s*** out of the specular map, then check in-game. You'll quickly realize the power of a good specularity map.

 

https://imageshack.com/i/ipEvIJCKp something I did a while ago (sometimes in 2014-2015 I reckon).

 

specular map: https://gyazo.com/be27f20e6ec47e104d75eea89855bd8f

 

It's not the best, I admit! That, too, was a "grayscale, levels, GG". It ended up looking pretty good nevertheless!

 

I am referring to the golden inlays for the most part. Very thing, long, UVW can be annoying to deal with. But, again, more personal preference from my side! I would unwrap the whole hilt as a whole to make it easier to work with, and to make any manual texturing on it feel more natural. The general rule of thumb is to split UVW shells at 90° angles, but I personally don't follow that too much myself! With Quixel and apps to paint directly on models, seams aren't as big of a problem as they used to be.

 

In any case, just keep at it! Get the AO on top of the albedo, invert the roughness(or grayscale + levels the diffuse) and utilize the metal map as a mask for the metallic mask, and you've roughly made a PBR texture to a skyrim-supported texture. It takes some tweaks, but it's doable! On non metallic objects it can be pretty much automated.

Edited by Matth85
Link to comment
Share on other sites

I really like your Cyrodiilic Iron Sword! I like those simple, somewhat worn weapons. Just the kind of blade my current player character (a rather simpleminded mercenary - at least before he came to Skyrim..) would use. :cool:

 

At least now I understand, what "contrast" in a specular map means. Sadly, I won't be able to do much texturing until the weekend (busy times at work...), but I'm really looking forward to working on improving my blade then.

 

Just a big "THANKS" again! It's people like you, that make modding and the Nexus community really great. :happy:

Link to comment
Share on other sites

Let's do a quick rundown of the differences:

Traditional texturing uses a Difuse, Specular level, specular color, environment, gloss and normal map. Skyrim doesn't use gloss or specular color maps.

PBR texturing uses an Albedo, Mettalic, AO, Roughness and normal map.

 

You can convert from one to the other, although it requires some manual work.

 

Albedo -> Difuse. The Albedo is simply a difuse map WITHOUT any shading. The simple way to overlay the Ambient Occlusion over the diffuse, and possibly throw in a curature/cavity map overlay if you need even more shading. Or the other way around: Remove all highlights and shadows from the diffuse to get the albedo.

 

Specular -> Here you got 2 choices. You can take the difuse map, grayscale it, and play with levels. Or you can take the Roughness map and invert it. This works wonders for most materials, but it falls a bit short on certain metals.

 

Normal map -> is the same.

 

Gloss map -> Not used in Skyrim, but you could generally get this from the roughness as well.

 

Environment map -> Our metallic map of traditional texturiong. You can rely on a combination of the roughness and the metallic map for this. The metallic map in itself is mostly pure black or white, where white means "This is metal!" and black means "This is not metal!". A environment map works in a similar way, but it's also vastly different. You can get away with using the metal map as a mask, then using the roughness or diffuse + grayscaling it, and simply playing with levels.

 

 

As a note to the above poster: Be careful when playing with certain nifskope values. Increasing the value of certain things, such as the amount of shine or reflction, is insanely taxing on the system. You are pretty much telling the engine to render out your image x amounts extra per draw call, taking exponentially more resources. If you want more reflection, create that in your textures! Check Bethesdas .nif for settings. Don't go much above that. Even with the extra memory of special edition, things can go pretty bad pretty quick! As an example: I had a 2k texture map set for https://imageshack.com/i/f00NM9rNp . To make it more shiny, I increased some settings in nifskope. It got more shiny -- but the game would have noticeable frame drop when doing any sudden moves.

 

Furthermore, the reason skyrim uses very low res cube maps is partly the age of game, but also because the artstyle in Skyrim is not-so-shiny. Most things have a dull shine, or a shine that lacks reflection. For that you only need to reflect -something-. It's also to avoid the whole issue with reflecting something that is not there, since the engine doesn't calculate reflection real-time and rely on Cube Maps.

 

If you want something real shiny, don't tinker too much with nifskope. Instead create your own custom cube map with your own decently sized environment map. The effect is a lot better, it's a lot less taxing, and you get a better base to tinker on within Nifskope!

Great explanation, totally beats the janky way i'm doing things lol. Didn't know that's how em scaling works in Bethesda nifs.

Link to comment
Share on other sites

You're welcome Algabar!

 

I am not actually a 100% sure how the engine tackles it, but I do know how game engines in general deals with it, so I am just assuming. I got 2 theories:

 

The first is how some engines deals with textures beyond 0-1 space - instance out more textures. The second is that the nifs themself got a value to control things.

 

This might seem like an obvious thing to saty, but that would mean each .nif has incredible control over the shader, and there is no safety guard on the .nif like there is on just about everything else. That would be incredible bad design and horrible encapsulation. You'd want the engine to deal with the object file(nif in our case) and let the engine create a internal file where it controls these things. That way the object itself is just the model, but the shading is done by the engine. For us it looks like the .nif might call the engine and the engine does what the .nif says.

 

The second one could be plausible given our work with .nif is a result of nifskope and the likes, which is just a dump of settings into a UI that we get to play with. For all I know Bethesda actually work with .obj files and .nif are created locally in their Creation Kit, and we simply use a missmatched version and somehow got it to work.

 

In the end, though, it amounts to the same thing: Cranking up the settings cost a lot. I can't say for sure why, and I have no plan of trying to deal with niflib ever again. My advice is to always design your texture to stand on "default" values. Then you can create variations quickly, and you can control the performance cost a bit better.

 

So take my assumptions a "Matths eduated guess" and not "This is how it works!" :p

Edited by Matth85
Link to comment
Share on other sites

You're welcome Algabar!

 

I am not actually a 100% sure how the engine tackles it, but I do know how game engines in general deals with it, so I am just assuming. I got 2 theories:

 

The first is how some engines deals with textures beyond 0-1 space - instance out more textures. The second is that the nifs themself got a value to control things.

 

This might seem like an obvious thing to saty, but that would mean each .nif has incredible control over the shader, and there is no safety guard on the .nif like there is on just about everything else. That would be incredible bad design and horrible encapsulation. You'd want the engine to deal with the object file(nif in our case) and let the engine create a internal file where it controls these things. That way the object itself is just the model, but the shading is done by the engine. For us it looks like the .nif might call the engine and the engine does what the .nif says.

 

The second one could be plausible given our work with .nif is a result of nifskope and the likes, which is just a dump of settings into a UI that we get to play with. For all I know Bethesda actually work with .obj files and .nif are created locally in their Creation Kit, and we simply use a missmatched version and somehow got it to work.

 

In the end, though, it amounts to the same thing: Cranking up the settings cost a lot. I can't say for sure why, and I have no plan of trying to deal with niflib ever again. My advice is to always design your texture to stand on "default" values. Then you can create variations quickly, and you can control the performance cost a bit better.

 

So take my assumptions a "Matths eduated guess" and not "This is how it works!" :tongue:

Just curious thou, how did u figure out that environment map scaling calls the engine to repeatedly draw the same texture x times the value?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...