DevBlog: Uber Textures

Art can be a highly underappreciated function of the total gaming experience, and yet some of the greatest games of all time are well-revered for their artistic merits (whether through their graphical fidelity, art style, or commitment to a consistent artistic expression). In Dual Universe, we’re committed to hard sci-fi, and our aim is to transport the player into our world through all aspects of the game design process.

One of the latest features we plan on releasing in a future update are all-new, procedurally-generated, physically-based textures that will help improve the look of the game, as well as make it more consistent. Metals, fabrics, plastics, leathers, and more will be available with different aging and weathering patterns, each with their own set of rules and variables. For now, these variables (known as object-based adaptive maps) will work on in-game Elements only, with plans to apply them to voxels in the near future. Please note that the following work-in-progress images are for illustrative purposes only:

1. Ambient occlusion, which determines how ambient-shadowed a surface is 

2. Curvature, which determines the concavity or convexity of volume’s edges

3. Position, which refers to world position of any point on a surface

4. Thickness, which refers to how thick or thin an object is at any given point on a surface

5. World space, which refers to world space orientation of  a surface (for example, moss always growing on the north side of a rock or tree). 

6. IDs, which refers to the base reference materials used and mixed on a single object (e.g. wood, metal, and plastic to texture a school desk)

These all amalgamate to create mesh-specific textures, which help in the blending of several materials. Here, a set of four mesh-based UDIM (short for U-dimension, a workflow tool used in visual effects) masks use RGB channels to blend four different materials: red for clean metal, green for mossy metal and blue for rusty metal. Within the IDs’ map, the engine recognizes if it’s a blend of defined, aged metals (black parts) or various aged concrete (desaturated blue parts).

There’s always a set order to a texture’s variables, and these act like layers in a Photoshop image. For example, we can create stippling or other normal wear-and-tear onto the surface of an object, and then place a layer of larger scratches on top of that (important to note, these scratches behave like objects do in real life where the exposed material is lighter than the outer coating, like for plastic) — of course, these are also customizable with our developer tools). We can take it a step further and then set a layer of dust, which attaches to the surface of the base texture, but also nestles into the scratches, further detailing them. 

These mesh adaptive maps get baked — which basically means their details get transferred onto the base model — in the aforementioned sequence until you arrive at a final product and (hopefully) some awe-inspiring piece of in-game art!

We hope that this was an enlightening look at some of the work that goes into making Dual Universe. Of course, as cool as the Uber Textures are, they are still in the initial development stage and as such, are still a work in progress. We know that once we implement them in future updates, you’ll immediately appreciate the new look-and-feel of the game and how immersive the entire world will look in the long-run. 

Later on, we’ll definitely reveal more of what’s going on in our pipeline. For now, however, we first have to release the new update, but we still have some surprises under the hood for later updates.

That’s it for today! More DevBlogs are coming your way soon! So make sure to like us on Facebook and follow us on Twitter. You'll be sure to not miss anything related to Dual Universe! And if you didn't already, join our forum and Discord server as well!