Blender – A Suitable Choice Against Costly 3D Suites

Arguably the biggest hurdle for someone considering learning 3d is the steep prices of most 3d suites. Industry recognized programs used by studios or influential professionals cost anywhere between 1000 to 5000 USD for the full featured product. Some of the companies that produce these programs offer packages at more affordable costs but with fewer features, and some provide a time limited use of the full featured application for learning purposes.

These efforts may help in increasing the accessibility of 3d production to students or hobbyists, the thought of one day having to find a way to afford the continued and maximal use of the program they’ve invested in can be discouraging, and many users end up acquiring their software through illegal means.
youtube-vimeo
The prevalence of certain software in CG forums or in online media hubs like Youtube or Vimeo propagate a notion of these programs being the only capable means of creating amazing 3d content, much to the dismay of users with limited financial means. Fortunately, there is one particular 3d suite that is accessible to everyone at absolutely no cost, and with functionality that can stand up to its more popular but expensive counterparts.

Blender is an open source 3d application that allows users to sculpt, model, texture, light, animate and renders content out of the box, at absolutely no cost. Its feature set is robust, extensive and more than capable of producing high-quality images or animations with a rich toolset developed alongside veteran users from all over the world to address production needs, ease of use and stability.

Blender 3d is created by the Blender Foundation under the leadership of Ton Roosendal, the original author of the software. It is sustained by donations from the community which includes entrepreneurs and companies that use the software or appreciate the vision behind it, as well as its community of independent users. The Blender Foundation aims “to give the worldwide Internet community access to 3D technology in general, with Blender as a core”.

Over the years, Blender has found its way to production pipelines for different industries, and to an increasingly receptive online community. More and more educational content is making its way to media sharing communities, enabling others to learn the basics of Blender rendering, and several educational institutions now include the teaching of the software as part of their curriculum. Its accessibility and involvement with the community have empowered many 3d aficionados to pursue the craft and create remarkable content for personal and professional use.

The relatively recent development of Cycles, a ray-trace based Blender renderer is also responsible for the establishment of the software as a professional grade 3d suite. Support for Blender is being adapted by more and more network rendering service providers, and the increasing market has even prompted the development of exclusive Blender render farms.

Blender has proven itself to be a rising force among other 3d applications and is growing at a steady pace. It continues to be at the forefront of a revolution that can change the face of 3d creation forever, and a more than viable alternative to costly 3d software.

Creating Pixar-like 3D Animation

Everybody knows that when an animated movie is made by Pixar, it surely is awesome. They are today’s leading animation movie creators and most of their releases were a hit. Some of their popular animated movies include:

  • Toy Story
  • Monster Inc
  • Finding Nemo
  • Up
  • Incredibles
  • Cars
  • and more…

But how do you create Pixar-like 3D animation? Below is a Life Cycle, if I may call it that way, of creating a Pixar-like 3D animation.

  • Character Design – This process means not only sketching the look of the character but also including all of the character’s traits and character. Numerous sketches are created in a tough draft with the character’s character in thoughts. It’s vital to make sure that good characters have clear attributes, are simply recognizable, likable and distinctive.
  • Storyboarding – This process is often hand-drawn fast sketches, displayed in sequence for the aim of pre-visualizing the ultimate animation. The storyboarding course was first developed by the Walt Disney Studio in the course of the early 1930s. It’s the quickest and most cost-effective process to determine in case your story goes to work earlier than any costly and time-consuming animation begins. It offers the inventive staff an opportunity to evaluate which elements of the story you want to change before it’s too late or too costly to do so.
  • 3D Modelling – The first thing to do in 3D modeling is creating the outer shell of the objects that might be used within the scene. There are different strategies and software to use when modeling. It all depends on the artist preferences when making his/her model.
  • Character Rigging – Rigging is like placing digital skeletons and muscle groups inside digital pores and skin. 3d riggers use advanced strategies reminiscent of joints, muscle simulations, IK and FK dynamics, morphs and weighting. The ultimate rigged character could be handed on to the animators with a purpose to convey the ultimate story to life.
  • Texturing – Texturing includes bumps, lumps, reflections, coloring, specular lighting and different bits of jiggery-pokery that make the ultimate render. A complete materials system is essential to creating life-like and convincing 3D pictures. Texturing defines an object’s color, diffusion, luminance, transparency, reflection, atmosphere, fog, bump, alpha, specular, glow, displacement and illumination properties.
  • Lighting – Lighting is important in creating the ultimate look and mood of the completed render. Lighting is an important side of any 3D render, a 3D scene without correct lighting will fail to fulfill trendy excessive expectations. 3D artists use lighting set-ups reminiscent of spotlights, tube lighting, and international illumination.
  • Sound and Effects – Actors voices are recorded first so animators can lip-sync the characters to the recorded audio. Sound results and music are often added in direction of the top of the manufacturing, identical to every other film.
  • Animation – Perhaps the life of the movie and the most time-consuming part of the process. Cartoon animation is totally different from motion-capture animation because it takes benefit of exaggeration strategies, reminiscent of squash and stretch – creating poses and actions that aren’t really attainable in the true world.
  • Dynamics and Simulations – To create added realism, a cartoon animation could require dynamic simulations reminiscent of gravity, wind, collisions, hair, fur, and jiggle. Refined hair and fabric simulations, for example, add enormously to the ultimate render instances.
  • Rendering – Ultimate renders embrace lighting, shadows, reflection and refraction and the applying of textures to surfaces. Films present 24 frames per second and a single one in every of these frames can take something from minutes to hours to render. By linking up a number of computer systems, or render farms, frames could be computed at a quicker price. It’s typically true that the extra advanced the scene, the longer the render.
  • Final Touches – This process includes reducing and pasting of scenes needed for the film plus the addition of sounds and music.

Realistic Rendering with Octane Render in Cinema 4D | Kim Gryun Homage

We have seen a lot of realistic renders produced using Octane Render in Cinema 4D but this render from a Korean 2D & 3D motion graphic designer captures our attention.

Kim Gryun, a 2D & 3D Motion Graphics designer and animator from Seoul Korea, has shared his work which is inspired by Vincent Van Gogh’s Bedroom at Arles’ and ‘The Starry Night’ paintings. The 3D work titled “Homage” was his 9th project from his company’s study group. It was rendered using Maxon Cinema 4D and Otoy Octane Renderer.

You can see more of his renders and designs at Behance.

Meantine, checkout his “Homage” project:

Homage Screenshots

octane-render-cinema4d-homage

octane-render-cinema4d-homage-kimgryun-2

octane-render-cinema4d-homage-kimgryun-3

I really like this render from his collections titled “Center Circle”:

Bryce 3D | Liquid in a Glass

This is a simple tutorial for Bryce users out there. There are also tutorials of putting liquid in a glass using C4D, 3ds Max and Maya. The process is somewhat similar but for this tutorial it will be an introductory one. Let’s start.

Step 1: Let’s create a simple glass using a cylinder. Click on the cylinder icon and size it to suit your need.
Liquid in a Glass Step 1

Step 2: Make this cylinder positive by clicking the “A” on the little menu located on the upper right corner nest to the cylinder and choosing “positive” from the menu.
Liquid in a Glass Step 2

Step 3: Next duplicate this cylinder by using the menu’s edit/duplicate command or by clicking “CTR + D”. You will now have two cylinders. Make the duplicate smaller than the original by dragging the resize control in the edit tab. Resize again by dragging the top of the resize control to make it extend out of the first cylinder.Liquid in a Glass Step 3

Step 4: Now make the 2nd cylinder negative by selecting the “A” and choosing “Negative” from the menu.
Liquid in a Glass Step 4

Step 5: Using your mouse, drag a marquis around the two cylinders to select them both. Once selected click “G” to group the two cylinders together. If you look in your preview window, you will see that the negative cylinder cut out the positive cylinder to form a glass shape.

Step 6: Now it’s time to put the materials on your glass. Click the “M” next to the group and select the triangle next to the preview window. Next select the Glass textures by clicking the glass materials in the presets. Now select “moderate glass” material.
Liquid in a Glass Step 6

Step 7: Now that you have made your glass, it’s time to put the liquid in it. So you must select the inside cylinder (the one you last created). How do you do this now that it’s inside a group? Easy just hold your mouse over the cylinder selection control (at the bottom of the screen) and press. Hold the mouse button down until you have a popup appear that lists all the cylinders in your scene. Select the second one.

Liquid in a Glass Step 7

Step 8: Now that cylinder 2 is selected, click “CTR+ D” to duplicate the cylinder. This will be used to create the liquid. If you remember, the second cylinder was set to “Negative” earlier. This duplicate is an exact replica of that one. For the liquid to show, this new object will need to be a positive so you must now make it positive by using the same method you did before. Select the “A” and then click “Positive” to change this third water cylinder.

Step 9: You will need to resize the liquid so that it isn’t all the way to the top, so select the resize control in the edit tab and drag the top of the control to decrease the size of the liquid.
Step 10: Now it’s time to put a water material on your new cylinder. After all it is water or some other liquid so click the “M” just like you did before. Next, select the small triangle next to the preview window. Now select the “Water&Liquids” presets. Now select “Xanades Lake” liquid.

Note: The duplicate you created to make the water is part of the boolean group that created the glass right? This duplicate is also the same size as the negative that cut out the interior of the glass. Boolean operations will cut out a positive object in a group, right? So if you render it now, the water will not show. Got to fix that right? So it’s necessary to separate the water from the glass then put it back. How do you do this? Several ways, but here is the easiest.

Step 11: Select “Cut” from the edit menu. This will cut your water cylinder not only from the scene but also from the group it’s currently in.

Now to put it back in exactly the same place with the same material, simply select paste from the edit menu.
You can now render your glass. It will contain the liquid you wanted it to have.

What You Need to Know About 3D Rendering

If you are into 3D, you often hear the term 3D rendering. And if you are new to it, you may be wondering what 3D rendering means. You may get a different meaning for it, but they all boils down to the process of creating an image based on 3-dimensional data stored within a computer. It is a creative process similar to photography or cinematography where lighting, staging scenes and images exist.

3d-rendering-animation

The term rendering refers to the mathematical calculations made by the 3d software’s rendering engine that translate the scene to its finalized 2D image. There are two major types of rendering where the speed at which images are computed and finalized differentiate them from one another.

3D Rendering Types

  1. Real-Time 3D Rendering – this type of rendering is mostly used in gaming and interactive graphics, where images must be computed from 3D information at an incredibly rapid pace.3d game rendering
    • Interactivity: Because it is impossible to predict exactly how a player will interact with the game environment, images must be rendered in “real-time” as the action unfolds.
    • Speed Matters: In order for a motion to appear fluid, a minimum of 18 – 20 frames per second must be rendered to the screen. Anything less than this and action will appear choppy.
    • The methods: Real-time rendering is drastically improved by dedicated graphics hardware (GPUs), and by pre-compiling as much information as possible. A great deal of a game environment’s lighting information is pre-computed and “baked” directly into the environment’s texture files to improve render speed.
  2. Offline or Pre-Rendering – this type of rendering is used in situations where speed is less of an issue, with calculations typically performed using multi-core CPUs rather than dedicated graphics hardware.3d animation rendering
    • Predictability: Offline rendering is seen most frequently in animation and effects work where visual complexity and photorealism are held to a much higher standard. Since there is no unpredictability as to what will appear in each frame, large studios have been known to dedicate up to 90 hours render time to individual frames.
    • Photorealism: Because offline rendering occurs within an open-ended timeframe, higher levels of photorealism can be achieved than with real-time rendering. Characters, environments, and their associated textures and lights are typically allowed higher polygon counts, and 4k (or higher) resolution texture files.

3D Rendering Software

Since rendering relies on incredibly sophisticated calculations, today’s 3d software provides easy to understand parameters that make it possible for an artist to never need to deal with the underlying mathematics. A render engine is included with every major 3D software suite, and most of them include material and lighting packages that make it possible to achieve stunning levels of photorealism.

2 most common render engines:

  1. mental rayMental Ray – Packaged with Autodesk Maya. Mental Ray is incredibly versatile, relatively fast, and probably the most competent renderer for character images that need subsurface scattering. Mental Ray uses a combination of raytracing and “global illumination” (radiosity).
  2. V-RayV-Ray – You normally see V-Ray used in conjunction with 3DS Max—together the pair is absolutely unrivaled for architectural visualization and environment rendering. Chief advantages of VRay over its competitor are its lighting tools and extensive materials library for arch-viz.

Maya Boolean Modeling

Learn how to do Boolean modeling in Maya. From basic boolean operations, anatomy of a boolean, where to use Booleans to common Boolean errors, you will surely learn the basics here. In order to follow this tutorial, it’s best if you have a basic knowledge of Maya.

But before we start, let’s understand what Booleans are. Well, Booleans in Maya is only possible between two objects, with the first one to be booleaned and the other to be added. Boolean allows you to subtract, add or intersect one object’s geometry to another.

Common Drawbacks

  1. The geometry is less than savory, but still usable, and can be re-worked with a little time. Edge loops will be hard to keep.
  2. Booleans are prone to errors.
  3. Due to the geometry that it produces, smoothing a booleaned object can become a pain.

Setting Up the Project

Set the menu to polygons. Create two spheres, and move them so they intersect like in the image below.
two-spheres-boolean
Select both spheres then go to mesh>booleans..
boolean-operations
Note: There are 3 different boolean operations:

  1. Union – This will merge both objects together. It will get rid of geometry between the two pieces.
  2. Difference – Subtracts the last selected geometry from the first selected geometry.
  3. Intersection – The geometry between the two objects will be kept and the rest will be removed.

boolean-operations-2

Anatomy of a Boolean

Note: You can skip this section if you’re a beginner and don’t particularly care about this.

  1. Go back to set-up and create the two spheres again.
  2. Select them both and go to mesh>boolean>difference.

**It may appear like the other geometry has been removed and has only left the protruding surface in the boolean sphere. But in reality, the geometry hasn’t been deleted. Its vertice and transformation information is still there.

How to access it?

  1. Go to window>outliner.
  2. There will be two groups: pshpere1, pshpere2, and the outputted geometry. Maximize the groups so you can see inside of them. Each one has a transform node.
    anatomy-boolean
  3. Select the group pshepre2 and you will find that, when using the move tool, you can move the sphere’s geometry around, therefore watching the boolean in real time.

How boolean works:

It takes both geometry’s shape nodes, connects their outputs to a boolean node, then the boolean node generates a new mesh(based on the outputted information from the geometry shape node).

To see this connection, select the visible boolean output geometry and go to window>hypergraph: connections.
As you can see, the “out mesh” and the “worldmatrix” of both sphere’s shape nodes have been connected to a boolean node and the boolean node outputs the new geometry.

anatomy-boolean-2
Note: If you want to animate your Booleans, simply set key frames on the boolean geometry groups.

Where to Use Booleans

As mentioned earlier, booleans do have drawbacks. So the rule of thumb is if you need to smooth the surface later, example: organic modeling – people – animals, you probably don’t want to use boolean. If it’s a surface like a monitor, computer or keyboard, booleans are great.

Booleans and shaders

When you boolean an object, shader information is also booleaned.

  1. Step one – Download example file here.
  2. The red sphere has been assigned a blinn with its color set to red. The blue sphere has been assigned to a lambert with its color set to blue.where-to-use-booleans
  3. Select the blue and then the red sphere, and go to boolean>difference.where-to-use-booleans-2

As you can see, the shaders are also boolean, so all the faces that the red sphere intersected are red, and the rest are blue.

Common Boolean Errors

Boolean is probably the fidgetiest function in Maya.

Inverted boolean operations

Cause – Inverted normals. One of the surface’s normals is probably facing backwards.

How to Fix It- Select one of the objects and go to normals>vertex normal edit tool. This will show the normals as lines coming off the vertices. If you don’t see any lines facing outwards, go to normals>reverse. If you don’t see any reversed normals, select the other object and reverse its normals, and that should fix it.

Objects disappearing

Cause – Scene tolerance.

How to Fix It

  • Select both objects and group them. Scale the group until it’s noticeably larger than the grid.
    common-boolean-errors
  • Then do the booleans and after that select the boolean geometry and then the group, and go to edit>parent.
  • Next, go to edit>delete all by type>history
  • Then select the group and, in the attributes editor, set the scale properties back to 1 and it will resize the geometry back to its original size.

Note: If you want to test this out for yourself, download badgeo.mb.

Cause – Modeling history and history of previous booleans.

How to Fix It

  1. Go to edit>delete all by type>history.

Additional Information

  • Make sure both pieces of geometry are of similar geometry density.
  • Never boolean on only one face.
  • You can’t boolean more than two objects at once.
  • You can’t boolean different types of geometry. Example: you can’t boolean a polygon with a NURB.
  • It’s a good practice to delete history after you finish with the boolean because this can cause problems.
  • Don’t accidentally delete history if you’re animating a boolean.

That’s it and Goodluck with your project. Let us know how it goes.

TheRookies: 8 Days to go until submission is closed

Are you an aspiring artist? Do you want to get noticed by top studios or just wanted to showcase your work? If yes, then don’t miss out this once in a lifetime opportunity. Autodesk Maya just opened its door to students, designers, illustrators, filmmakers, animators, digital artists or a developer to showcase their talents around the world. But you need to hurry up because they are closing their doors in 8 days.

How to join?
Just head over to http://www.therookies.co/ and join.

You can learn more about the Rookies and the prize:

About TheRookies

The Rookies is the acclaimed international competition for young creatives. Founded in 2009 to showcase the most talented student designers, illustrators, film makers, animators, developers, digital artists, and launch them into the career of their dreams.

GarageFarm.NET Now Supports Solid Angle’s Arnold Core 5.0.0.1

GarageFarm.co sent out a news release today about their support for the new Solid Angle’s Arnold renderer version. The PR says the render farm now supports Arnold Core 5.0.0.1. This is on top of the recent updates from the company whose been working continuously in supporting 3d artist with their render farm needs.

arnold renderer

The company also said they will offer a $50 free credit when customers register to test their Arnold render farm with all its features enabled; without any commitment.

Read the Press Release below:

GARAGEFARM.NET NOW SUPPORTS SOLID ANGLE’S ARNOLD CORE 5.0.0.1

GarageFarm.NET announced today that their Arnold Render Farm now supports Arnold Renderer Core 5.0.0.1. This is in line with the company’s vision to become the leader and the cheapest render farm online supporting a wide range of 3D software. The company will provide users $50 free credits when they register to test their Arnold render farm with all its features enabled; without any commitment.

GarageFarm.NET announced today that their Arnold render farm now supports Arnold Renderer Core 5.0.0.1. The farm will be kept updated with the current software version to provide their customers more options in searching for a suitable farm for their 3D projects. Most online farms only support popular software like Maya, 3DS Max, Softimage and MODO on limited versions.

arnold-renderer-pdf-image

Solid Angle’s Arnold renderer Core 5.0.0.1 allows its users to create photorealistic renders, efficient and easy to use controls in rendering their 3D projects. In addition, GarageFarm.NET now supports Arnold for Maya MtoA 2.0.0 and Arnold for Cinema 4D MtoA 2.0.0.1. They are now offering $50 worth of free credits to test their farm with all features enabled without any commitment simply by registering to the site.

Through the company’s Arnold Renderer landing page, users can register and get their $50 free credit. Customers can also use this page to read testimonials or browse Arnold rendered images and videos.

GarageFarm.NET is hoping that with this launching, artists using Arnold will have more alternative and better options in creating or rendering their projects.

How to Get SketchUp for FREE

Whether you’re looking to shift careers or want to start with 3D design and animation, you will need to decide which software to use. However, there are few software out there that provides FREE downloads. If you are into architectural and interior design or landscape architectural design, Sketchup is the perfect software for you.

SketchUp is a 3d modeling software for artists working on a wide range engineering drawings. So if you are into this type of projects, it’s you’re lucky day because SketchUp is offering FREE downloads. You can download old and new versions of the 3d software, so its entirely up to you which version to use.

After downloading and installing, you can Google for tutorials to get you started. Our friends from designerhacks has a bunch of SketchUp tutorials organized by skill level.You can also head on SketchUp resources for great tutorials.

Sketchup FREE Downloads

Version   ReleaseDeveloper
Sketchup Make 2017FreeWindowsMac11.07.16Trimble
Sketchup Pro 2017Paid WindowsMac11.07.16Trimble
Sketchup Make 2016Free WindowsMac11.17.15Trimble
Sketchup Pro 2016PaidWindowsMac11.17.15Trimble
Sketchup Make 2015Free WindowsMac11.04.14Trimble
Sketchup Pro 2015PaidWindowsMac11.04.14Trimble
Sketchup Make 2014Free WindowsMac02.28.14Trimble
Sketchup Pro 2014PaidWindowsMac02.28.14Trimble
Sketchup Make 2013Free WindowsMacMay 2013Trimble
Sketchup Pro 2013PaidWindowsMacMay 2013Trimble
Sketchup ViewerFree WindowsMacMay 2013Trimble
Sketchup 8Free WindowsMacSep 2010Google
Sketchup 8 ProPaidWindowsMacSep 2010Google
Sketchup 7Free WindowsMacNov 2008Google
Sketchup 7 ProPaidWindowsMacNov 2008Google
Sketchup 6Free WindowsMacJan 2007Google
Sketchup 5Free Windows--Google
SketchupFree Windows-Aug 2000

How to Skin Shading in Arnold Renderer for Maya

This tutorial will walk you through skin shading using Arnold renderer for Maya. Scene files and texture can be downloaded here to be used as the starting point.The tutorial will also explore some of alSurface features by creating a skin shader and cover the basics linear workflow setup in Maya 2016 and MtoA.

We’ll also be covering displacement setup, use of maps for skin shader, how to linearize color maps, remapping specular maps to get our desired range and how subsurface scattering works in alSurface.

Open the file 00_start.ma from the scenes directory in the Maya project and click on preferences and turn on the Enable Color Management checkbox.

skin shading tutorial image 1

Go to the Arnold globals and set all the Gamma settings to 1. This tells Arnold that all your inputs and outputs are linear.

skin shading tutorial image 2

If you do a render now you’ll get the image below.

skin shading tutorial image 3

Notice that a default standard shader is applied, so go ahead and attach a new alSurface. One of the main features of alSurface is support for light groups, that allow users to put all the information for each light (or group of lights) into their own AOVs, up to a maximum of 8. This is equivalent to doing separate renders for each light, but getting them all in one render. Once done with the AOVs, users can rebalance them in comp to tweak the lighting to whatever they want.

First, select the shape node for each of the three lights in the scene using the outliner.

skin shading tutorial image 4

From the Maya menu, select Modify>Add attribute. Create an integer attribute called mtoa_constant_lightGroup. The mtoa_constant_ prefix tells MtoA to export this attribute with the geometry as user data so that the shader can pick it up. See image below.

skin shading tutorial image 5

Go to the AOVs tab in the globals and add the first three light groups AOVs to the active AOV list. See image below.

skin shading tutorial image 6

Click render and you will have access to the light groups in the render view AOV dropdown. Selecting them allows you to see the contribution of each light individually. We will use this later to help tune our subsurface scattering by examining each light in turn.

Displacement

The displacement map is by far the most important part of any skin shader and thankfully the model we’re using comes with an excellent texture extracted from the scan. First, we need to convert our head mesh to a subdivision surface by editing the Arnold>Subdivision attributes on the shape node and setting Type to catclark and Iterations to 4. Next, add a File texture to the Displacement slot in the shading group for our shader and load disp.tx from the sourceimages directory. See image below.

skin shading tutorial image 7

By default the displacement will be a little too strong. See image below.

skin shading tutorial image 8

Set it to a more reasonable value like 0.1. When you’re setting up displacement for skin shading, you want the result without subsurface scattering to look like a plaster cast of a head, and the subsurface scattering we’ll add later will soften some of the hard detail we currently have.

skin shading tutorial image 9

Notice that the current fine detail seems to be at about the right level, but our guy is still looking a bit puffy. This is because the displacement map has values from zero to one, which means that the surface is always going to be pushed outward, whereas what we want is to make the low values displace inward so that the surface keeps the same overall volume. To do this, open the Arnold rollout on the displacement shader and set the Scalar zero value attribute to 0.5. This tells Arnold to consider any value less than 0.5 an inward displacement and any value greater than 0.5 an outward displacement.

skin shading tutorial image 10

Adding the Color Map

In adding a color map, just assign a regular Maya File texture to the Diffuse > Color parameter in the alSurface shader and point it to sourceimages/col.tx. If we do a render now, the result will look very washed out, like the image below:

skin shading tutorial image 11

The color is wrong because the texture is in sRGB. In the first part of the tutorial we set all Arnold’s gamma settings to 1, so Arnold will not automatically try and convert the texture for us. There are several ways to handle this. We’ll do a quick fix first and then do the correct way. The quick fix is just to convert the color space of the texture after reading it in the shading network. You can do this by dropping down an alColorSpace node after the texture and setting its Source space parameter to sRGB (the default). This will convert the texture result from sRGB to linear for us and the render will now look correct. See image below.

skin shading tutorial image 12

This works fine for our example but is in fact not correct. The reasons why are outside of the scope of this tutorial, but in short it’s because you have to do color space conversions before mip-map generation and filtering, not after.

skin shading tutorial image 13

To fix this, we’ll need to pre convert our texture to linear. We could do this in Nuke, but an easier way is to use the conversion option built into OIIO’s maketx utility. You can do it by using the shell:

skin shading tutorial shell image

but you can also do it by passing those same options to MtoA’s Tx Manager window. With the texture converted, we can now point our File texture to col_lin.tx and remove the alColorSpace node. See image below.

skin shading tutorial image 14

If you compare this image to the previous method, you can notice a very tiny difference between the two. While it’s small here, it can make a big difference in the general case, particularly when you’re rendering very high-resolution textures at a distance, so it’s a good habit to get into in general.

Specular

The specular qualities of a material are perhaps the most important thing to get right in order for the material you’re creating to match its real-world counterpart. As you can see, the default settings in alSurface don’t do a very good job for human skin, so let’s fix that. A good starting point is to set the following:

Specular 1 > Roughness value to 0.5
Set the Specular 1 > Advanced > Distribution parameter to GGX. The GGX distribution is new to Arnold 4.2.12 and generally matches real-world materials better than the default Beckmann distribution.

skin shading tutorial image 15

We’ll also set the Specular 1 > Fresnel > IOR parameter to 1.38 instead of the default of 1.4. Index of Refraction is probably the single most important parameter for accurately matching specular properties of a material, and we’ll cover them in more detail in another tutorial, but for now, 1.38 is a good baseline for skin.

skin shading tutorial image 16

This gives us a good base, for example, the area around the temples is working well, but the nose is feeling very dry. Next, we’ll add a map to drive the roughness differently in different areas.

Create a new File texture on our Specular 1 > Roughness attribute and point it to sourceimages/spec.tx. By default, Maya will connect the alpha of the texture to our attribute, which is not what we want (because the texture has no alpha). We can solve this by enabling the Alpha is luminance checkbox on the File node, but I prefer to plug the channel we want from the texture directly, so delete the connection from outAlpha and connect outColor.r to our roughness parameter instead to just take the red channel as our scalar value.

skin shading tutorial image 17

If we do a render now it will look totally wrong.

skin shading tutorial image 18

We can use the Debug mode on alSurface to figure out why. The debug feature of alSurface can be very handy for figuring out why your shader isn’t responding as expected by showing you exactly what values are being fed into it. Change the Advanced > Debug parameter to specular-1-roughness and the render will show you the value that is driving the roughness. As you can see, the nose, forehead, lips and cheekbones are brighter than the rest of the head because the map specifies the shininess of the surface rather than the roughness.

skin shading tutorial image 19

We want to invert the values in the map, and also to remap them to a different range: at the moment the values are between zero and one and we know that for skin we want our roughness to be somewhere around 0.5 on average. To do this we’ll use an alRemapFloat node, so create one and plug it in between the File texture and the surface shader. See image below.

skin shading tutorial image 20

We want to change the range of the map so that the black values correspond to our base roughness of 0.5 and the white values correspond to some shinier value, say around 0.3. To do that we use the Output min and Output max parameters of alRemapFloat. Output min says “A value of zero in the input becomes this value” and likewise Output max says “A value of one in the input becomes this value”. So we want our min to be 0.5 and our max to be 0.3, which will invert the map and remap to range so that all values lie between 0.5 and 0.3. See image below.

skin shading tutorial image 21

skin shading tutorial image 22

Now our values look like they should so switch the Debug mode back to off to see the difference it’s made to the surface.

skin shading tutorial image 23

Subsurface Scattering

The final touch to apply for our character is to add subsurface scattering. SSS is handled a little differently in alSurface to the standard shader so it’s worth going over the logic briefly.

In alSurface, SSS is considered a part of the diffuse layer of the shader. That’s because this is how it works in the real world: light enters a material the bounces around a little bit, changing color as it goes, then is bounced back out of the surface again towards the viewer. If the material is very dense, then the distance the light travels inside the material will be very small and can be modeled accurately with a regular diffuse layer. If the material is less dense, then the light can travel far enough that the material starts to look “squidy” and we need to use SSS to model the effect.

The Diffuse > SSS > Mix parameter allows you to control how much the SSS is “mixed in” to the diffuse layer. Generally, you want this to be either zero (for “hard diffuse only”) or one (for “sss only”). It can sometimes be useful to use values somewhere in between, but most of the time you just want one or the other. Go ahead and set it to one now.

skin shading tutorial image 24

Now our guy is made out of jelly. Since SSS depends on the world-space distance light travels through an object, it is heavily dependent on the size of that object.

skin shading tutorial image 25

We could use the Diffuse > SSS > Distance parameters to fix this, but it’s easier to change the Diffuse > SSS > Density scale instead. The density scale acts as a multiplier (well, divisor) on the distance parameters, so it’s useful for globally adapting the shader to the size of your object. If you change density scale to 10 instead of the default of 1, you’ll see we have a more appropriate SSS effect.

skin shading tutorial image 26

Arnold’s default SSS algorithm is known as cubic and is simple to control and is pretty fast. Unfortunately, it also softens out surface details a lot, which would be fine if we were trying to make a blob of jelly or something like that, but it’s not so great for skin. The new empirical mode does a better job, but we want the most detail possible so we’ll switch Diffuse > SSS > Mode to directional. The directional algorithm is slower than cubic but gives a much more detailed result as it takes the light direction into account.

skin shading tutorial image 27

If you compare the previous two images, you can see that the directional mode preserves surface detail much better, particularly in the forehead and the chin. If you look closely, you’ll also notice that there’s a tiny bit of red light between the lips in the cubic image that’s not present in the directional image – this is the light that has erroneously crossed the empty space between the lips, and directional gets rid of it automatically for us. You’ll also notice that the directional version is slightly brighter and less saturated than the cubic version, which is the single scattering component kicking in.

skin shading tutorial image 28

A good rule of thumb when tuning sss for skin is “if you can see it, it’s too strong.” Ours is currently in a pretty good place, but it could be a little stronger. We can use the light groups feature of alSurface to help tune the scattering. Switch the render view to the light group for the key light (light_group_2 in my scene), and play with the Diffuse > SSS > Distance 1 parameter until you’re happy with the amount of red light you see blurring the edges of the shadows. In this case, it’s around 1.7.

skin shading tutorial image 29

Now let’s do a high-resolution render and see what we’ve made. My final sample settings are 6/1/1/1/2 and I’ve also cranked up the subdivision iterations to 6 to get some more detail out of the displacement map.

skin shading tutorial image 30

This ends the skin shading tutorial. I hope you liked it and learned something from this. Till next time.