Engine Texture Documentation and Creation Guideline
---- Needed: Engine Texture Documentation and Creation Guideline ----
Hi guys!
I decided to post this thread in the General Discussion section since I noticed that the topic I mentioned in the header above
is really important. First of all you may ask why a thread like this didn't appear at a much earlier time. The Assembly Kit and
much more custom tools are available since a long time now. The answer for this is that most modders managed to get nice
textures in several self-explored ways. This means that many modders create all the required textures for reskins or new 3D
content in a way probably different to the texture creation process of the Creative Assembly itself. With this I don't want to
say that any of the textures are bad, many of the results are awesome and impressive. What I want to clarify: there is no proven texture creation guideline how to craft at least the required basic textures! At the time most of the custom
ways are trial and error because different textures may behave in very different ways. Especially for my work on "Total War:
Rise of Mordor" I need to understand how the basic textures behave altogether and how I get full control over every kind of
of texture without having to guess every value. In addition I doubt that all these textures, like _gloss and _level, are hand
painted. Nowadays plugins or some kind of generators are much more convenient.
First of all an example of a texture set f a round shield which is shipped with the Attila Assembly Kit. This set contains all base texture:
diffuse
Diffuse Texture
gloss
Gloss Texture
level
Level Texture
normal
Normal Texture
specular
Specular Texture
It's obvious that the TW3 engine uses a physically based rendering system (specular/glossiness). Nevertheless, the rendering system is not 100% PBR because even if something in a texture is 100% metal, this part is still coloured in the diffuse texture (in full PBR all colours are stored in the specular map because the colour is only visible through the reflected light rays).
Some time ago I tested to create a bronze metal texture with a black diffuse texture and a specular map where all colour information is store. The result isn't that bad but overall the model seems to appear a bit too dark.
Diffuse/Specular Test
After tons of testing and much research in the internet these are the things I can tell about the different base textures of the TW3 engine:
I think I can handle the diffuse, normal and specular map, even if I'm not 100% sure how diffuse and specular work together. However, I really don't know in which way I can create the gloss and level map without loosing the control over them. There're NO guidelines which values are used for which materials or how gloss and level have to be created.
Maybe there's a way to provide some professional information about textures from the developers themselves? It would really help us modders to prepare new content in the best way for the game.
Additional information and help not directly from the CA developers is truely welcome, too!
Let's see if there's a chance to gain some professional knowledge here!
Vikus
Last edited by Vikus van de Merwe; December 22, 2015 at 07:21 AM.
Reason: corrections
Re: [Needed] Engine Texture Documentation and Creation Guideline
To get a better idea how the textures affect each other I prepared several material spheres as variant meshes to view them in the Variant Editor. This allows me to have a look at their appearances with a shader very similar to the shader which is used ingame. For the tests I put together ten different material spheres with different combinations of black, grey, steel and white colour maps in different texture slots. The results are similar to the results I expected before I did the tests.
Conclusions of the tests
the black lightning artifacts are caused by too bright gloss_maps
if there're full non-reflective areas on the surface, at least the diffuse and gloss texture need to have specific values to conrol the colour and microsurface (smoothness)
the level texture seems to have full control over the surface's reflectivity while the reflection values itself are stored in the specular map (the "specular level" controls the opacity of the specular map: black -> specular is disabled | white -> specular is enabled to 100% | greyscale -> defines stronger or weaker specularity)
to create nice reflective surfaces, the level and specular map have to collaborate in the right way; using level or specular only does not work
In that case the specular map does not only define the reflected colours, it also defines how reflective the surfaces is. So the level texture itself doesn't control the reflectivity directly, it's rather a controller of the specular texture.
I hope I could contribute some more insight into the base textures of the Attila engine. Soon I'm going to determine color ranges (gloss, level, specular) for specific materials (metal, wood, fabric, etc.) based on the knowledge found in this thread and based on several vanilla texture examples. If I think it's usable in some ways I'll of course post it here, too!
Re: [Examination] Engine Texture Documentation and Creation Guideline
Yeah, but it still seems to be a thing of trial and error at the time, I think that CA used a custom shader for the Substance texturing suite with some settings to "generate" at least gloss and level in some ways. In addition it would be a lot of easier if the influences of every texture could be checked directly in the viewport of Substance Painter or 3DO for example.
Re: Engine Texture Documentation and Creation Guideline
Yeah, the shading in this game is so weird and wonky. This really helps explain why some stuff glows or has black spots. I had less of an idea on how gloss and level maps work until now. I've been desaturating the specular map and made two copies named gloss and levels. For gloss maps should I keep my textures to a mid gray? I'm sort of understanding how specular differs from levels, but I assume specular maps only define what color is shown when the light shines on the object? Levels would define how much the object glows and reflects light?
Re: Engine Texture Documentation and Creation Guideline
Originally Posted by Slytacular
Hey Vikus, what is the 3D painting software that you use? I'm thinking about giving it a try.
If I am not mistaken, I think he uses the Quixel Suite and its DDO Painter. It is a plugin for Photoshop. An alternative would be Allegorithmic's Substance Painter. And by the way, CA is now also among the user / customer list on allegorithmic.com.
I believe in Jesus Christ our Savior. If you do too, and aren't scared to admit it, then copy and paste this in your signature. "I am the Way, the Truth, and The Life..." (John 14:6) Yeshua HaMashiach http://khouse.org/
Re: Engine Texture Documentation and Creation Guideline
A CA Warhammer artist sent me this: http://crytek.com/download/gdce2013_...plus_bonus.pdf as response to my question on how to create the gloss / level maps.
The posts on ArtStation also make it clear that they did not use Substance for Warhammer atleast. But instead Photoshop and sometimes Quixel is mentioned. xNormal, CrazyBump and Marvelous Designer and of course ZBrush seem to have also come to use for some assets.
Last edited by Stealth4Health; December 05, 2016 at 06:36 PM.
Re: Engine Texture Documentation and Creation Guideline
After muddling with creating textures using the "trial-and-error" method (and getting a bit fed up with it), I was inspired by this tutorial to try and create a "material library" of various materials (especially metals) calibrated for Attila's engine. What I discovered was that the gloss map has by far the biggest influence on the reflections. The values in the gloss map pretty much have to fall into the 90-105 (RGB) window for all metallic textures, otherwise the reflections will be either too sharp, or nonexistent.
Here are the "material balls" I've created so far (from left to right: iron, bronze, steel, gold and copper):
These aren't entirely monochromatic, they have some randomly generated clouds applied as an overlay (the exact same cloud texture for all materials) in order to better reflect in-game textures (which probably won't be monochromatic either). All of them have a flat normal map.
Here are the values used for the various textures:
Of course these are just examples, though I did check various sites for some guidelines regarding the hues of various metals, so they should be reasonably accurate. That said, there exist different bronze alloys with different hues, for example, so I hope to expand this "material library" in the future. The main thing to take home is to note how even slight variations in the gloss values can have a pretty drastic effect on the reflections.
Edit:
Here's a bit of a demostration regarding the effect of the gloss textures. All these balls are otherwise identical, apart from having a different gloss value.
RGB values from left to right: 80, 90, 100, 110, 120. You can clearly see that even within this 80-120 window the changes in light reflection are pretty huge.
Last edited by Charerg; November 19, 2016 at 03:20 PM.
Under the patronage of Finlander, of the Imperial House of Hader
Re: Engine Texture Documentation and Creation Guideline
I should add a bit of a caveat to my above post: the correct glossiness values depend a lot on the surface area of the metallic surface you are texturing. So, while the 90-105 RGB values work well for large balls, these are actually too low for most in-game objects. Say, for a helmet sized object 100-120 RGB is a much better window, and for small decorative elements you might want to go even sharper than that.
Under the patronage of Finlander, of the Imperial House of Hader