100% Blender Texturing Workflow - Skin Painting Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well i bet you didn't expect to see this pretty face again in this video we're going to go over how to paint a skin texture using only blender instead of creating a shader that can be used in every cycles we're going to be using the texture painting workspace to create a texture map that we can then export into other environments such as a game engine now i've already gone through the process of re-topologizing my high poly character head and i'll leave a link to the flipped normals video which will help you get started with retopology in blender but this is the model that we're going to be painting our skin texture on after we bake down the high poly details into our normal map so if i click on our low topology head and i tab into edit mode you can see that i've already cut a number of scenes and this head has already been uv unwrapped so if i drag off another panel here and i go to our uv editor you can see our uv layout now i'm going to create a new image which we'll use to bake down our normal map so i'll create new image i'm going to create a 2k texture so 2048 by 2048 and i'm going to call it head normal bake now i'm going to drag up a new panel and i'm going to go to our shader editor i'm going to give our low topology head a new material and i'm going to create an image texture i'm going to set this to our head normal bake i'm going to plug that into a normal map node which will be set to tangent space and i'm going to plug that into the normal slot on our shader also for our image texture i'm going to switch it to non-color data now i'm going to go to my render properties and i'm going to switch from ev to cycles because the baking options are only available in cycles so i'm going to go down to my baking options and i'm going to switch from combined to normal so that we're only baking a normal mat next i'm going to hit the checkbox next to selected to active on the output i'm going to put the margin pixels at 2. now if we hit the arrow next to selected to active it brings up some more useful options for one the max ray distance is the distance from the surface of our model that blender will shoot out a ray and scan for high poly detail to bake down into our mesh while the extrusion value helps to inflate the active object so that blender can better scan for high poly detail similar to how you would use a cage now this method is also very similar to how you do your baking in other programs such as marmoset tool bag or substance painter and i'm often finding that you'll get better results using the extrusion value than you would if you were using an actual cage object so i'm going to set my max ray distance to something of 0.01 meters and i'm going to set my extrusion to something of 0.02 now if i click on my image texture and i'm going to unhide my high poly collection and i'll hit control and select our high poly head now it's important that the low poly object is still the active object as that's the object that we're baking down to now with everything set up we should be able to bake out our normal map and now if we look at the results we can see it actually came out pretty good now there's a few small issues for one there's a lot of clipping going on around the neck area and we can fix a lot of that simply by increasing our extrusion value so i'm going to go up from .02 meters to 0.05 now we can just go ahead and click bake again and now you can see pretty much all the clipping areas are gone and we have a pretty good normal map now if you're still having problems capturing your high poly detail and increasing the extrusion value isn't working for you then you might need to create more geometry or more edge loops on your low poly model to fully encompass your high poly topology as i briefly mentioned before there are also a number of other programs that you can use to create your normal bakes such as marmoset tool bag substance painter zbrush and even other free applications such as xnormals which has been used in the game industry for a very long time so now that we have our normal bake i'm going to go to our uv editor i'm going to hit n on the keyboard and i'm just going to make sure it saves the results of our normal bake now if we go back to our baking options you can see that you can bake out a variety of other texture maps including an ambient occlusion and your diffuse color now these can be highly useful in the texturing process but i'm going to go over some alternative means of creating these texture maps now one application that i want to mention real quick is materialize by bounding box software which is one of the fastest free options for generating your ambient occlusion and curvature texture maps to give a brief overview all i would have to do is come over to the o under my normal map and import the normal map we exported from blender then with my normal map imported all i would have to do is go to create under edge map or ambient occlusion and simply adjust the parameters to my liking then hit set as to save the map now if i wanted to also create a metallic or smoothness roughness map i would have to import some sort of diffuse color texture which we could do after we're finished with the skin painting texture once we had all our texture maps created and materialized you could pack them however you like such as creating an arms or an ambient roughness and metallic map where all the separate textures are set to individual rgb channels and then use that in a game engine such as unreal now going back to blender i'm going to show you a quick and sloppy way that you can create your other texture maps and export them as well now i'll leave linked below a video by the qixel studio team which explains some other methods that you can use to create an ambient occlusion curvature map and an id map but we're going to use a slightly different method just using the shader editor so we won't even have to use the baking options for the rest of this video so i'm going to go ahead and i'm going to switch back to eevee i'm also going to hit the check box next to ambient occlusion now i'm just going to hide everything from the high poly collection and i'm going to switch to the material viewport so now if the check box marked next to ambient occlusion i'm going to go ahead and add an ambient occlusion node and i'm going to plug our normal map into the normal input on the ambient occlusion node and i'll take the ambient occlusion output and plug that into our base color now so that we can better see just how much ambient occlusion is being added to our model i'm going to create a new plane object i'm going to drag that back on the y-axis i'm then going to give this plane object the same material as our character head and now if we zoom in we can see the effect that the ambient occlusion node is having on our shader now if we only want to preview what this ambient occlusion node is doing then we can click on the node and then hit control shift and then click and that'll bring up this little viewer option so that we're only viewing the effects that this node and everything before it is having but to do this make sure that you have the node wrangler add-on turned on in your blender preferences if i want to control this ambient occlusion independent from the normal map node that we're using for our normal input then i'll just duplicate this one drag it off re-plug in our image texture so with this normal map plugged into our ambient occlusion i can independently increase or decrease the strength without it affecting the rest of our normal detail however this ambient occlusion is simply relegated to our shader editor we need to export it in order to use it in another program such as the game engine so i'm going to hit shift s and select cursor to selected next in top view i'm going to go ahead and i'm going to insert a new camera i'll bring this camera up on the z-axis and in the camera properties i'm going to switch it from perspective to orthographic now in the output properties i'm going to change the camera's resolution to 2048 by 2048. and now the plane that we have our material being displayed on in blender units is about 2 meters by 2 meters so i'm going to go back to our camera and in the camera properties i'm going to change the orthographic scale to and now with this setup the camera will only capture the entirety of the plane because it's an orthographic it won't capture any perspective distortion and with our material if we have our nodes plugged into the viewer which is technically an emission shader then there won't be any lighting impact even if we had any sort of environmental lighting in our scene so now if i render a shot from this camera we get an image that we can export as our ambient occlusion map next i'm going to frankenstein a bit of a curvature map now you may or may not even need to create this map but i'll show you some ways you can use it later on so to start i'll just grab my selection of nodes and i'll give myself a little bit more room now i'm going to create a separate rgb node and i'm going to directly plug in our normal map image texture into the separate rgb now i'm going to create a mixed rgb and i'm going to set it to multiply also increase the factor to 100 and i'm going to plug in the red and the green value to multiply them together once again if i hit ctrl shift and click we can preview what that looks like now i'm going to create a color ramps node and i'm going to plug in our blue value if i go to this arrow i'm going to flip the color ramp to invert the blue value now i'm going to create another mix rgb node i'm going to set this one to screen and i'll plug in the result of multiplying our red and green value with the inverted blue value and once again if i hit ctrl shift and click we can see what that looks like and this is essentially giving us something that would be similar to a curvature map i can also use the handles on the color ramp node to control the spread of some of the curvature effect and just like with the ambient occlusion we can render out our curvature map so now that we have finally covered all the groundwork it is time to start texturing this character's head so i'm going to jump over to the texture painting workspace and we'll create a new image we'll call this skin texture at 2048 by 2048. i'm also gonna drag up a new panel and bring back our shader editor and i'm going to go ahead and insert the new image texture that we just made also create a mix rgb set to multiply with our ambient occlusion value being added on top of our skin texture okay so after i make a few more adjustments and i clean up my shader graph a little bit i'm going to use the paint bucket tool which is the fill tool to just drop in one flat base color over our entire character head now this flat base color might depend on the rays and ethnicity of your character but it should usually be something at a low to mid saturation and at a mid to high brightness just like with the sculpting workspace we'll turn on the symmetry option so that whatever we're painting is mirrored over to the x-axis or whichever direction that you choose next i'll start brushing in some highly saturated colors which we are going to steadily blend into our characters skin texture now these highly saturated areas represent the color zones of the face in doing this i'm making a lot of use out of my tablet's pen pressure sensitivity i'm only lightly brushing in these colors and i'll often set the strength to a lower value like 0.5 or 0.8 and then just lightly tap with my brush to mix in the colors i also have the scroll wheel on my tablet set to adjust my brush size but by default you can do this with the bracket keys on your keyboard i'll also use the smudge tool to steadily blend areas together i'm setting the smudge brush to a strength of 0.5 and then only lightly pressing with my tablet to steadily blend the three color zones together when it comes to the color zones of the face the forehead and top of the head will often have somewhat of a white yellowish hue because there simply isn't a lot more under the skin other than the skull this is where the bone of the skull is probably pressed closest to the skin as opposed to the sheath in which there are a lot of capillaries veins and blood vessels that are highly oxygenated and give the skin a more reddish hue in this area male characters will have more of a desaturated bluish tint around the chin and the jawline mainly due to things like your five o'clock shadow now this is of course much less pronounced on females but it's still something to consider also the blood vessels around the lips and in this area are a lot more deoxygenated so the lips might have more of a violet purplish hue than a brighter red hue that the cheeks have while i'm painting the base color of the skin i'll often go to my viewport shading options by clicking the arrow next to my viewport shaders and i'll switch it from combined to diffuse color this way i'm only seeing the base color information that i'm painting without any speculars or other lighting information while painting in the diffuse color view i'll often use the color picker icon to pick a color directly from the surface of my model and continue to blend it with the other color zones from here i'll continue to refine blending the color areas together i'll often switch between the combined render view pass and the diffuse color one i'll also eventually go to my shader and i'll increase the roughness to max this way i'm not looking at any other specular information while i'm trying to keep everything that i'm painting in the base color logically consistent like i said with the color zones earlier skin has a lot of randomness so it's okay to be a bit messy since i opted to create sculpted eyebrows on our character rather than creating a hair texture i'm going to go ahead and paint in some eyebrows as well i'm going to choose a desaturated bluish midtone to paint in the eyebrows you can also switch the blending mode on your brush like you would in photoshop or any other program so once i've painted in the eyebrows i'll also switch my brush to a blending mode of multiply and i'll paint in some darker areas i can then switch it to screen and paint in some highlighted areas just to give a little bit of randomness after getting a first impression of this i realized i made them pretty big and bushy so i'm just going to switch to the diffuse color mode and i'll color pick from the area around the eyebrows to just dial back some of the spillover also this character still has those scars on the left side of his face and those would create a gap through the left eyebrow so i'm going to turn off the symmetry mode and i'm going to add a little bit of a darker reddish color in the area of the scarring i recommend turning off symmetry from time to time because it'll help to create a little bit more randomness and help make your skin look a little bit more convincing as the hues and textures on your skin are not going to be perfectly symmetrical so far everything we've been painting in the base color has been relegated to one image texture now this is a very destructive workflow meaning that if we were to make any major changes to the base color we would probably have to paint over and destroy the detail that we've already created now there's nothing inherently wrong with working in this method it's just that we have a certain disadvantage due to a lack of control however we can still use the shader editor to create layers of textures like we would have in a program such as substance painter or qixel mixer now it would be practical to create a new layer to paint in details like the eyebrows or the darkness around the scar but we've already done that so what i'm going to do is i'm going to create a new texture map which we're going to use to paint in some shaving stubble around his chin and jawline to start i'm going to create a new image texture at 2048 by 2048 and i'm going to give it a completely white base color this image texture is ultimately going to get multiplied on top of our current painted skin next i'm going to go to the texture tab and i'm going to create a new texture and play around for a little while until i find something that i think would be appropriate to create a stubble like texture pattern ultimately i'll settle with a stucky pattern which i'll set the noise basis to voronoi f3 pattern to plastic and type to soft also drastically decrease the size i'll also hit the check box next to color ramp and i'll invert the white and black value with the standard brush i'm going to set my color to a dark desaturated blue i'll then set our texture to the texture mask input and then i can proceed to brush in the stubble pattern across the jawline chin and upper lip you can also play with the color ramp in the texture properties to decrease or increase the contrast of the pattern i'll also use the same pattern later on across the character's scalp to create a shaved head texture since this whole stubble pattern is relegated to a separate image texture if we're unhappy with it we can just remove the image texture once we've finished creating all our image textures and base color nodes then we can export the completed base color map using the orthographic camera and plain setup that we created earlier in the video once i'm happy with this stubble pattern i'll go back to our original skin color texture layer and continue to do some refinements now i'm going to remove the texture that we created from the texture mask input but feel free to play around with textures to give your brush patterns more randomness this can really help improve the quality of your skin texture painting remember that you are not only relegated to these simple procedural textures that are available in blender there is a large variety of different alphas and image textures that you can download from across the web that are appropriate for different texturing tasks once i'm fairly happy with my progress on the base color texture i'll show you a few other ways that we can add some detail using the curvature map we generated earlier all right so i'm going to create a few more mix rgb nodes and i'm going to set them to multiply i'll be plugging the curvature map into the factor input and our base color into the first color input i'll set the second color to be somewhat of a highly saturated mid tone and then i'll insert a color ramp between the curvature that's plugged into the factor input and the mix rgb node this will be used to control the intensity and the spread of the curvature maps effect when i'm done with this process i'm pretty happy with how the base color map has turned out next we're going to work on creating a roughness map and we'll be using much of the same method but first i'll do a little bit more organization by adding some frames and labels to my different node groups this is just for clarity on my material shader graph i'll create a few frames and i'll give them their own colors i'm going to frame the area of nodes that process my normal map the base color and the curvature map i'll also frame the nodes that i create later on that are controlling the roughness to create our roughness map we'll be using our curvature base color and a few other procedural textures i'll also create another image texture which we'll be using for some manually painted roughness detail i'm going to take the skin texture that we painted and i'm going to plug it into an rgb to black and white node i'll then plug this node into a color ramps which will help me control the values i'll create some more mix rgb nodes and we'll plug the curvature map into the factory input like we did before once again using a color ramp to control the intensity and spread of the effect i'll be mixing our black and white map with a noise texture to help give our roughness map some more randomness and variation i'll play around with some more mix rgb nodes set to different blending modes such as multiply screen and overlay and i'll use the new image texture that i created to paint in some manual roughness details another texture map that we can create that's optional but can give some added realism is a subsurface scattering texture this will be a black and white texture with just a little bit of brightness painted around the areas of the ears and maybe a little bit around the nose and brow these are areas where light would pass through the surface and shine through on the other side once this is completed we can work on exporting the texture maps from our completed material all we have to do is ctrl shift and click the final node processing each of our material outputs we then just capture a snapshot of it using our orthographic camera and image plane setup and then we can export out an image texture for use in another game engine environment you can even use a combined rgb node to make a ambient occlusion roughness and metal map texture for use in unreal engine this texture would have each of your material outputs set to a separate rgb channel i'm using a downloaded image texture for the eyes in this instance that i downloaded from the art station marketplace but you can find tutorials on how to create them procedurally in blender as well so i hope you found some part of this video useful if you did please consider subscribing and hitting the bell icon to receive a notification whenever i post a new video so until the next one good luck getting those projects done and i'll see you in the next video [Music] you
Info
Channel: Tosmo
Views: 10,006
Rating: undefined out of 5
Keywords: Blender 3d, Blender tutorial, texture painting, substance painter, marmoset toolbag, materialize tutorial, texture baking, texture baking blender 2.9, normal map blender, blender 2.9 tutorial for beginners, blender eevee tutorial, texture painting blender 2.8, Blender PBR, Unreal engine, Game design, game development, Character design for games, quixel mixer, 3d texturing blender, how to, non destructive, blender texture painting, blender skin texture
Id: -H_bYDxl-CU
Channel Id: undefined
Length: 26min 29sec (1589 seconds)
Published: Sat Nov 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.