Tip:
Highlight text to annotate it
X
Hi all, I'm Max Puliero, after a while
I'm here to record a tutorial
about Blender and Cycles. I want to talk about a technique to map
3d models like an entire body or a huge robot
3d models like an entire body or a huge robot
that use different UV layout spaces
this is a technique often used in movies productions
this is a technique often used in movies productions
this is a technique often used in movies productions
when you have to map extended surface using the same material
when you have to map extended surface using the same material
so you need probably huge texture size for every part of your model.
Here we have the head, the torso
the arms and the legs.
the arms and the legs.
The model is a lowpoly, in this case a RT renderer should be ok too
The model is a lowpoly, in this case a RT renderer should be ok too
but for this tutorial it will works fine.
In this case if I wanted to use only one single map
considering that lately the avarage size for a single map is 4096*4096 pixel
considering that lately the avarage size for a single map is 4096*4096 pixel
considering that lately the avarage size for a single map is 4096*4096 pixel
I had to use a 8000*8000 pixel map
I had to use a 8000*8000 pixel map
an heavy map for PC and Photoshop.
an heavy map for PC and Photoshop.
an heavy map for PC and Photoshop.
but sometimes we go over 4k map, sometimes we have to use 8k or 16k map for single UV layout
so, merge together four 16k pixels maps is difficult for every PC
so, merge together four 16k pixels maps is difficult for every PC
that's why we should split the UVs inside different layouts.
In the industry is a standard technique,
so, I taught myself how to reproduce it in Cycles.
so, I taught myself how to reproduce it in Cycles.
Well..
Here is my gorilla(?) model
with the UVs already splitted in this way.
For a lowpoly like this one
probably one single UV layout would be enough
but I want to talk about multi UV layout so I need a simple model
to explain better what I'm doing during the tutorial.
I already created all the textures.
...
.....
...this one is the last...
so, we have the head, the torso
the arms with hands
and the legs. I also created the normal-maps
extracted from the multiresolution bake as you can see not much detail (lol)
extracted from the multiresolution bake as you can see not much detail (lol)
multires is no longer needed, I delete it.
Let's see how the maps work in viewport
Let's see how the maps work in viewport
Let's see how the maps work in viewport
Now I'm selecting my maps
Now I'm selecting my maps
The head
the torso
... torso color ...
the arms,
... arms color ...
and the legs.
At this point
activate "texture solid"
and you see I painted my textures (not so well)
infact you can notice some seams
Basically I did a "face assign" for each texture to each UV space
Basically I did a "face assign" for each texture to each UV space
If I check by selecting the faces
you can see that Blender show me the right texture for every face I clik.
you can see that Blender show me the right texture for every face I clik.
For the moment, we have not any material assigned to the mesh.
For the moment, we have not any material assigned to the mesh.
Even we assign a white material
we still see the textures in viewport
we still see the textures in viewport
because, actually this is only a preview, without any effect in render.
Today I don't talk about Blender Internal Renderer
but Cycles
but Cycles
So switch to Cycles!
Cycles thinks in a different way, that's why our viewport preview disappear,
Cycles thinks in a different way, that's why our viewport preview disappear,
but we don't mind.
Now split the viewport,
open the "node editor",
open the "node editor",
Select our white material and activate "use nodes" here.
Now...
I want to assign my textures to the diffuse "slot"
I want that
all my color textures
converge all together in the "diffuse slot".
because is a single mesh, without evident seams,
because is a single mesh, without evident seams,
because is a single mesh, without evident seams,
So I want to use a single material.
Well
Check again the UV layout.
Check again the UV layout.
So, to assign correctly my textures in the UV spaces
So, to assign correctly my textures in the UV spaces
So, to assign correctly my textures in the UV spaces
that goes from 0-1, 2-3, 3-4 I need a sort of mask
I can build it, with the "checker" map.
I can build it, with the "checker" map.
create and put it in the "diffuse" slot
create and put it in the "diffuse" slot
For the viewport preview
just switch to "render" mode. Now create a lamp
adjust direction and intensity...
... And save the file!
ok.
Now select the model
We have the "checker" texture inside the "diffuse" slot
We have the "checker" texture inside the "diffuse" slot
the scale value is "5"
that means our UV space is subdivided by a grid 5*5 of alternated colored squares.
so I have infact a 2 color mask.
so I have infact a 2 color mask.
white and gray
white and gray
Now, try to change the "checker" scale from "5" to "1"
Now, try to change the "checker" scale from "5" to "1"
connet the UV slot to vector
connet the UV slot to vector
we clearly see that the checker works now like a UV space mask.
we clearly see that the checker works now like a UV space mask.
just analyze the situation...
The first UV is the head,
The first UV is the head,
that fill the gray color
the second UV is the torso
the part in the middle..
that occupy the white color
the third part are the arms that using again the gray
the fourth UV space has the legs and is white again.
So we clearly see, with a "checker" map at scale "1"
we have an endless pattern white/gray
that fill one alternate color
that fill one alternate color
for every UV space
because the texture it self is not bound by 1 UV space (until now)
to understand better
try to work with simple colors,
first of all, add a "mapping" node between the "checker" and "texture coordinate"
first of all, add a "mapping" node between the "checker" and "texture coordinate"
and connect the "UV" to the "mapping" to control the map tiling.
If I don't do that, I'll get a mapping error
If I don't do that, I'll get a mapping error
(would be nice if "UV" will be the default mapping mode)
(would be nice if "UV" will be the default mapping mode)
from "mapping" activate "min" and "max"
from "mapping" activate "min" and "max"
from "mapping" activate "min" and "max"
As you see, the model now, has only one color
As you see, the model now, has only one color
As you see, the model now, has only one color
To explain this, start to say we are working on Y axis in the UV editor
Y axis = vertical
X azis = horizontal
X azis = horizontal
activate "min" and "max" we define
the gray as first color.
the gray as first color.
Infact, change this color means
Change the color of the head and the arms
because those 2 UV spaces
are influenced by che second color of the "checker" map.
are influenced by che second color of the "checker" map.
(btw, strange that the first color is placed in the second slot...)
So, choose a color and go to see how "min" and "max" values work!
setting the "max" area to 1 fissando l'area "max" a 1
Blender calculate the color until the upper edge of the first UV layout
after that, Blender has not any mapping information,
so it just spreads our red color over all the UV layouts
without considering the second color.
For the moment, Blender knows that from 0 to 1 there is the red color, and that's all
So we defined correctly the first UV space.
So we defined correctly the first UV space.
Now, duplicate both together the "checker" and "mapping" nodes.
Now, duplicate both together the "checker" and "mapping" nodes.
(...change from CPU to GPU...)
Ok... go on!
Now we'll define the second UV space going from 1 to 2,
Now we'll define the second UV space going from 1 to 2,
Now we'll define the second UV space going from 1 to 2,
ok....
now define and lock the second UV area by the "mapping node"
now define and lock the second UV area by the "mapping node"
...so white and red....
this is the red area,
put it inside the red slot
lput it inside the red slot
and connect (ofcourse) the UV node
and connect (ofcourse) the UV node
and connect (ofcourse) the UV node
...Ok...
again:
the first UV block is red
the first UV block is red
we can see in viewport that the head is red...
we can see in viewport that the head is red...
...and what happen next, is NOT defined by the first "mapping" node.
...and what happen next, is NOT defined by the first "mapping" node.
...and what happen next, is NOT defined by the first "mapping" node.
...and what happen next, is NOT defined by the first "mapping" node.
Check again the checker to cofirm that...
Check again the checker to cofirm that...
ok
so the first "checker" node, define the first UV space, and it goes in red slot of second checker
so the first "checker" node, define the first UV space, and it goes in red slot of second checker
because the second UV space is influenced by the white color
because the second UV space is influenced by the white color.
The niew mapping node infact, going from 1 to 2
The niew mapping node infact, going from 1 to 2
because Blender will not calculate under the 1 value.
because Blender will not calculate under the 1 value.
because Blender will not calculate under the 1 value.
and considering only the block between 1 and 2 on the Y axis.
and considering only the block between 1 and 2 on the Y axis.
after the second UV space, no mapping defined.
after the second UV space, no mapping defined
that's why we have all the next layout covered by white color
that's why we have all the next layout covered by white color
that's why we have all the next layout covered by white color
I change the color to blue.
I change the color to blue.
So, duplicate again the "checker" and "mapping" nodes
(with shift+d)
connect the UV coordinates...
connect the UV coordinates...
and set "min" value at 2 and "max" value at 3.
So...
So...
this one
go inside the blue slot...
..ok...
infact this mask working on the arms UVs.
infact this mask working on the arms UVs.
Assign a to yellow color for now...
If the current space is used by the blue color
If the current space is used by the blue color
the next UV space will use the other slot.
so, go to use "lock"
the previous blue slot and let free the slot where I'll put the map..
the previous blue slot and let free the slot where I'll put the map..
I know it looks complex, but to remember just do it a couple of time.
I know it looks complex, but to remember just do it a couple of time.
so, duplicate again "checker" and "mapping",
connect the UV,
connect the UV,
set "min" at 3 and "max" at 4
set "min" at 3 and "max" at 4
to define the last UV space
The yellow part is free...
...So the next UV using the other color
choose a color.... pink!
choose a color.... pink!
Ok.... Now we have done our mask system.
Ok.... Now we have done our mask system.
Ok.... Now we have done our mask system.
So in the red slot go to assign the Head diffuse map...
...In the blue slot the Torso map...
...The arms map in the yellow slot...
...The arms map in the yellow slot...
...And in the pink slot put the legs map.
...And in the pink slot put the legs map.
So go to minimize all the nodes...
So go to minimize all the nodes...
...Beacuse after you plet th UVs, maybe you don't retouch them so much...
...Beacuse after you plet th UVs, maybe you don't retouch them so much...
...Beacuse after you plet th UVs, maybe you don't retouch them so much...
Ok, let's import our textures!
Ok, let's import our textures!
the first one is the head
the first one is the head
going in the red slot...
going in the red slot...
...Head Color...ok...
We can see the map correctly applied.
We can see the map correctly applied.
We can see the map correctly applied.
Minimize this node...
Minimize this node...
Duplicate the texture node...
In the second UV space We have the torso,
So, go to select the texture...
and put it in the empty slot.
and put it in the empty slot.
duplicate again the "texture" node.
And we have the arms..
Select the map "arms color"
and put it in the right slot.
The last UV space is occupied by the legs.
so choose the legs texture,
and again in the slot.
ok!
minimize all the slots.
ok
...Try to organize a bit the nodes...
...Try to organize a bit the nodes...
minimize also the "texture coordinate" node
and go to create a "layout" from "frame" menu`
and go to create a "layout" from "frame" menu`
by "ctrl+p" connect the nodes to the new layout
and call it "diffuse"
ok, looks nice!
Now go ahead woth the normal maps.
We don't need to redo all the procedure we did before,
just select the entire diffuse layout, and duplicate it! (shift+d)
just select the entire diffuse layout, and duplicate it! (shift+d)
change the layout name to "normal"
and now just change the input texture maps.
and now just change the input texture maps.
For the normal maps choose "non-color data"
select the head normal map
the torso normal map
the arms...
and the legs...
and the legs...
next select the "normal map" node
next select the "normal map" node
add also the "bump" node
and connect it to the "normal" input of the shader...
and connect it to the "normal" input of the shader...
check if it works.... uhm uhm....
uhm uhm....
oops! my fault!
ok, it works!
So, basically think about the entire mask system like aone single texture
So, basically think about the entire mask system like aone single texture
So, basically think about the entire mask system like aone single texture
So, basically think about the entire mask system like aone single texture
So, basically think about the entire mask system like aone single texture
the positive thing is that we have only one material for all those maps!
the positive thing is that we have only one material for all those maps!
the positive thing is that we have only one material for all those maps!
whith out using this method, you need a new material for every UV layout.
whith out using this method, you need a new material for every UV layout.
if now I what to make a complex material
if now I what to build a complex material,
example adding a mix shader...
..And a glossy material...
..And a glossy material....
Connect the maps...
Connect the maps...
Connect the maps...
As you can see I work on the shader only
and I use the node layout like a single map
but I handle 4 UV layout in the same time.
but I handle 4 UV layout in the same time.
So try to add also the bump map, Duplicate again the entire layout,
put it into the "height" of the "bump" node
put it into the "height" of the "bump" node
put it into the "height" of the "bump" node
select the bump maps,
select the bump maps,
select the bump maps,
ok, it works!
(sorry for the low quality of the maps)
selecting the torso bump map...
... the arms...
...the legs...
ok, we finished also the bump.
ok, we finished also the bump.
Set the kayout name to "bump"
and actually is very simple to work with this system after you built the first node..
and actually is very simple to work with this system after you built the first node..
anyway you can find the file in the description..
anyway you can find the file in the description..
Last hint,
You can see, I have also the eyes, that actually using a different material
You can see, I have also the eyes, that actually using a different material
In this case, the material is different,
In this case, the material is different,
so we have not a UV ocerlapping problem.
check the render....
..ok!
OK! the tutorial is done!
Sorry for my bad english
Sorry for my bad english
Bye! stay tuned!
Bye! stay tuned!