Monday, April 24, 2017

Painting an Ogre


Meet Oskarr, an ogre from the windswept plains of the north, where summers are short and winters long. It is a land dominated by wandering nomads and tribal chiefs, relatively unaffected by slow march of progress that the kingdoms to the south enjoy. Renowned for their strength and loyalty, it is not surprising to find that a good portion of the land's residents have experience working as mercenaries.

Oskarr is one of those mercenaries. Under the employ of a dwarven fortress, Oskarr wears the traditional warpaint of his people. It covers his entire body, and each sign is symbolic of enforcing or strengthening both the mind and the body.



As he was born and raised in a small fishing village, Oskarr is equipped with armor made from the bones of great sea creatures that have been killed in the annual summer hunts. Runes have been carved into the shoulder piece to signify good luck and victory in battle

On his belly are 5 rings, which are symbolic of the five spiritual chains that he must break in order to reach his full potential.
























The dwarves that employ him require a uniform to be worn in order to identify friend from foe in battle (they are not the only ones to recruit from Oskarr's people, after all). The pants and shoes are a part of that uniform. With some customization on his part, Oskarr has made it so that the pants cover the armor on his legs. This is done so that his allies can identify him more easily (as is required), while also not losing any protection in the process.



A lumbering giant among men, Oskarr's weapon of choice is a monstrous mace, which was carved 
out of a tree. Both the mace and his feet are stained with the blood of enemies. 




So far, Oskarr has emerged a champion in battle, but for how much longer?

Initial Inspiration

Lately I've been addicted to a game called Europa Universalis IV, which is a historical strategy game that spans between the years 1444 and 1820. Since I'm also a history nerd, and since the game focuses on the time period, my interest in the Renaissance and Protestant Reformation has been stirred.

Naturally, this current interest has shaped the story I have for Oskarr, and seeing as he is a mercenary in a fantasy world, I decided to take inspiration (at least when it came to his clothing) from the mercenaries of the Renaissance.

From what I gathered, striped pants were a pretty big thing back then:



In truth, after the pants were done, I kind of winged Oskarr's design, and came up with a story as I went along. The paint he dons is inspired by both Celtic and Maori tattoos.

Materials

the base color map, without any of the fancy material attributes added on

The requirements for the project was to use at least 3 different custom materials. If using the brush, tinkering with its settings, and compiling it all into multiple layers counts as separate materials, then the entire project was composed of various different custom materials.

For example, this is what the upperbody mesh looks like:


And this is the additional layers I used for the face:

Each layer serves its purpose, from coloring, to adding patterns, to creating the illusion of height. It all comes together to create this:



As another example, this is what the pants look like:



In contrast, this is what the simplest set of materials looks like, which was created for the rings.


For things like roughness and metallic properties, I assigned that with the base color material. For example, here is the shoulder pad:

Painting 

the two main brushes I used for painting
The process for all parts of the mesh followed a simple pattern.


First, came the basic color material, along with any underlying patterns I wanted, which I made with the generator feature


Then came basic shadows, along with some simple highlights


More detailed shadows and highlights followed. A very basic sense of depth is also added with custom heightmap brushes.


After that, it was a matter of finetuning. For most of the meshes (especially the pants), I also added in more generated maps for mud and grime


Smaller parts, like the feet, followed a similar process, though I usually did not go into as much detail with shading. For the blood effects on the shoes and mace, I used the particle brush (mainly the laser, heavy leak, and splat ones).





Ambient Occlusion

I was going to do that, and I did bake it but....



the result was far less than attractive, which is why I switched to shading by hand...

I think this is more of an issue with the UV map than the model itself, as well as the fact that I had decided to implement the ambient occlusion map after I had finished the process of texturing. My bad.

Normal Map

Instead of using the one that came with the model, I decided to go for more creative freedom and create my own with the height brushes:


I feel like this allowed me to make something more unique.

Near the end, I also added in a small stencil to the pants, just to give a better fabric texture:





Overall, I really enjoyed this project, and it makes me eager to texture more in the future.

Monday, April 17, 2017

Substance Designer

For the tutorial on Substance Designer, we learned how to bake textures. One of the most important steps starts from the very beginning, which is to right click on the mesh you want to create texture maps for, and hit "Bake Model Information".


The window has many options to it, including a tab that allows you to select what sort of baking you want to do. Get used to this window, as it's all you're going to see.

The first step was to make an ambient occlusion map, which tracks the bounce of lighting on a mesh. Unfortunately, my computer couldn't handle this awesome program at first.

Luckily, using the second ambient occlusion option, which utilizes a higher poly model to map from (essentially the same as baking in Maya).


The next type of baking is normal map baking, which creates a bump map for you to use based off of a higher poly model.




Next is a color map, which essentially adds in the painted textures of the higher poly model to the low poly. It can also divide the mesh based on material, polygroups, or just the mesh(es) itself.


Convert UV to SVG essentially divides the model's separate parts and color codes them.


 Curvature baking creates a file that defines the edges of a model. It can either be done per pixel or per vertex.


A height map creates the illusion of depth that a normal map cannot.

First, you will need to convert the heightmap to a normal map in the graph editor. Press space bar and select the option below:

Then, after entering the bump map color to the node as well, connect it to the normal map.


For the default material (found under materials), create a separate node using an output and, in the usage tab of the node's attributes, assign it as "height".


In order to see the full height, edit the default material and increase the height value.


Different games use different renders. In order to see what the maps will look like in other games, you can switch the rendering under the "renderer" tab. For height, similar values are at play in the material editor.

Opacity mask renders transparent elements in a texture map.


But in order to use it, you need to create an opacity node on the graph editor first.

 Position maps divide the mesh based on their positions from an axis.


You can either choose from a single axis (the below used only the z-axis)


Or all three axis.


The thickness map is the inversion of the ambient occlusion map. It searches for light bounce from within the mesh.

the lighter the color, the thicker the mesh is.


You can transfer a texture from one mesh to another that has a completely different UV map.


the two meshes and their textures compared

World Space normals calculate normals based on the space that they are in, instead of the mesh itself. It's best used on static objects in game engines.



There is also world space direction, which is the same as the above, except that it calculates based on a single direction, instead of the world surrounding the mesh.



And that is the wide-array of baking for Substance Designer.