Results 1 to 12 of 12

Thread: Engine Texture Documentation and Creation Guideline

  1. #1

    Icon4 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:

    1. diffuse
      Diffuse Texture
    2. gloss
      Gloss Texture
    3. level
      Level Texture
    4. normal
      Normal Texture
    5. 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:

    Diffuse

    This map can be handled as an albedo map. Even if it's called "diffuse" it should be okay if the diffuse map is used for the basic colours. It also affects the surfave even with high specularity. The reason for this could be that the final gloss_map doesn't allow 100% specularity.
    ----------------------------------
    Texture attributes: RGB, coloured

    Gloss

    Another name for the glossiness map is "smoothness" map. This texture defines the smoothness of a model's surface. If a surface has much microsurface details, the light rays are reflected in much more different angles. Therefore the specular highlights get less intense and softer. A perfect mirror has no microsurface details, therefore most of the light rays are reflected in the same direction. The specular highlights are really sharp and intense.
    ----------------------------------
    Texture attributes: grayscale, brighter values = sharper highlights

    Level

    The level map, also called "reflection" map, is used to define the reflection value of a surface. The brighter the values in the texture are, the more reflective the surface of a model will be. It's obvious that gloss and level have to work together in the right way, otherwise the results will look strange.
    ----------------------------------
    Texture attributes: grayscale, brighter values = greater reflectance

    Normal

    The normal map is used to "fake" surface details which can't be realized in the models themselves due to performance restrictions. To get the best results the normal maps are baked from a high-poly version of the low-poly model. Don't edit the normal map in Photoshop after baking! This map contains special height information which shouldn't be edited by hands later.
    ----------------------------------
    Texture attributes: RGB

    Specular

    The specular map tells the engine which colours are reflected from a model's surface when it is reflective. Often, damage details like scratches are put in the specular map because this breaks up the specular highlight when it reflects light. In that case models will look much more realistic because nothing in nature is perfect.
    ----------------------------------
    Texture attributes: RGB, colours define the reflected colours



    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
    ------------- under the patronage of wangrin --------------

    ~~~~~~~ Total War: Rise of Mordor at ModDB ~~~~~~~

  2. #2

    Default 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.

    I recommend to open the pictures in new windows to see them complete and in full size.

    Sphere_1
    Sphere_2
    Sphere_3
    Sphere_4
    Sphere_5
    Sphere_6
    Sphere_7
    Sphere_8
    Sphere_9
    Sphere_10

    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!
    ------------- under the patronage of wangrin --------------

    ~~~~~~~ Total War: Rise of Mordor at ModDB ~~~~~~~

  3. #3

    Default Re: [Examination] Engine Texture Documentation and Creation Guideline

    Anyone else who's willing to share some additional knowledge about it?
    ------------- under the patronage of wangrin --------------

    ~~~~~~~ Total War: Rise of Mordor at ModDB ~~~~~~~

  4. #4
    Stealth4Health's Avatar Civis
    Join Date
    May 2014
    Location
    Munich, Germany
    Posts
    170

    Default Re: [Examination] Engine Texture Documentation and Creation Guideline

    Thanks for providing more insight into this! Very interesting.

  5. #5

    Default 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.
    ------------- under the patronage of wangrin --------------

    ~~~~~~~ Total War: Rise of Mordor at ModDB ~~~~~~~

  6. #6

    Default 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?

  7. #7

    Default Re: Engine Texture Documentation and Creation Guideline

    Hey Vikus, what is the 3D painting software that you use? I'm thinking about giving it a try.

  8. #8
    Stealth4Health's Avatar Civis
    Join Date
    May 2014
    Location
    Munich, Germany
    Posts
    170

    Default Re: Engine Texture Documentation and Creation Guideline

    Quote Originally Posted by Slytacular View Post
    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.

  9. #9

    Default Re: Engine Texture Documentation and Creation Guideline

    Hey I was wondering if anyone knows how to get the textures settings to work in 3ds max 2014: Here is the post with my question:

    http://www.twcenter.net/forums/showt...for-the-models
    Pray for Pastor Saeed, and here is a link to sign a petition for his release: http://beheardproject.com/saeed#sign

    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/




  10. #10
    Stealth4Health's Avatar Civis
    Join Date
    May 2014
    Location
    Munich, Germany
    Posts
    170

    Default 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.

  11. #11
    Charerg's Avatar Citizen
    Join Date
    Apr 2013
    Location
    Finland
    Posts
    623

    Default 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):

    Click image for larger version. 

Name:	Material Balls.png 
Views:	24 
Size:	163.4 KB 
ID:	341814

    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:

    Iron
    Click image for larger version. 

Name:	Rough Iron.png 
Views:	17 
Size:	141.0 KB 
ID:	341815

    Diffuse RGB: 17, 17, 18
    Specular RGB: 166, 166, 166
    Gloss RGB: 97
    Level RGB: 153

    Bronze
    Click image for larger version. 

Name:	Bronze.png 
Views:	14 
Size:	145.0 KB 
ID:	341816

    Diffuse RGB: 51, 45, 26
    Specular RGB: 191, 183, 143
    Gloss RGB: 92
    Level RGB: 166

    Steel
    Click image for larger version. 

Name:	Steel.png 
Views:	12 
Size:	103.2 KB 
ID:	341817

    Diffuse RGB: 26, 24, 23
    Specular RGB: 204, 203, 202
    Gloss RGB: 99
    Level RGB: 166

    Gold
    Click image for larger version. 

Name:	Gold.png 
Views:	11 
Size:	164.3 KB 
ID:	341818

    Diffuse RGB: 51, 41, 23
    Specular RGB: 230, 213, 179
    Gloss RGB: 99
    Level RGB: 166

    Copper
    Click image for larger version. 

Name:	Copper.png 
Views:	10 
Size:	136.2 KB 
ID:	341819


    Diffuse RGB: 51, 30, 29
    Specular RGB: 217, 181, 173
    Gloss RGB: 97
    Level RGB: 166

    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.

    Click image for larger version. 

Name:	Gloss Test.png 
Views:	17 
Size:	88.3 KB 
ID:	341820

    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

  12. #12
    Charerg's Avatar Citizen
    Join Date
    Apr 2013
    Location
    Finland
    Posts
    623

    Default 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

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •