I went through the basics of Arnold for Maya in this Pluralsight course.
(Looking back, learning about Arnold came in very useful for placement year!)
Introduction to Arnold For Maya (2016)
The following are my notes from the course.
Use the Arnold render view.
Arnold is good at using IPR. You can take snapshots of the IPR whenever you like. You can pan around within the Arnold viewer. Use the debug menu to render or view the different passes like ambient occlusion or wireframe.
…is used to control the quality of our renders. Camera AA is anti aliasing. The sampling numbers on the render window are tied to the values under the Arnold rendering tab.
***download a model and try out the lighting on this? Use a warm, cold and white light from the three sides.
The sampling number controls how many rays are shot out from our camera into our scene. And how many points of light are reflected back? Fewer rays create a grainy appearance. The values entered are squared to determine the number of rays per pixel. Anti-aliasing ray samples are squared. The other values are squared and then multiplied by the number of anti-aliasing samples. Therefore if your AA is high then your other samples should be kept lower. Use 4 and 8 for high quality and then 16 for super high quality AA. Use ‘lock sampling pixels’ to create flicker free animation sequences.
Rays can bounce and contact multiple surfaces within our scene. If I’m rendering for integration into live action, do I render different coloured lights to emulate bounced lights or is it possible to render using coloured surfaces that mimic the footage? And then render this bounced light in a separate pass? Increasing the diffuse ray depth will result in colour bleed from bounced light. Glossy reflections versus regular reflections relates to the material. Normal reflections do not reflect light sources, only other pieces of geo in the environment. Specular reflects everything including light sources. Think of how many times the rays need to bounce back and forth in order to relay accurate information. The more bounces, the more accurate each subsequent reflection will be when creating more and more glossy reflections. The same applies to the reflection samples, and how many times two mirrors will reflect eachother. Similar considerations will have to be taken for creating two layers of glass sheets and refracted light. The ray depth parameter used will depend on the weights of different material attributes?
Linear – light is linearly additive. Luminance is the sum of all light sources. Lack of a linear workflow can result in blown out light sources, too dark of shadows, or under-lit scenes.
Your monitor is not able to display all of the values that your render contains. Normal images, or low dynamic range images, already have their sRGB gamma curve of 2.2 baked into them. So when we apply a correction, the gamma correction is being applied too many times and the image will look washed out.
The light source and shadows will be an indication if an image is being used in the correct colour space or not. LDR records colour space from 0 to 255. HDR records from 0 to 1 but the decimal is a floating point, we can go above 1? You may need to apply a transform to remove the 2.2 sRGB from some images and then this can be reapplied to all images to create the same output.
Overview: A linear workflow involves making sure that all your textures exist in the same colour space – linear or sRGB, so that the same gamma correction can be applied to everything and the same result (colour space) can be achieved.
Rendering with linear workflow in Arnold
Colour management is turned on by default in Maya 2016. The workspace is linear and the view transform is sRGB. However, if we render with Arnold, Arnold will apply its own gamma correction as it was built before 2016. Colour management is also turned on in the hypershade. E.g. the colour picked will be corrected to linear before it is rendered again in sRGB.
Arnold is also applying a curve of 2.2 under the render settings so this is being applied too many times. Set this back to a value of 1. The same applies to colours applied to lights. Why do textures remain at 2.2?
Gamma correction for images.
The normal and specular maps rely on the sRGB baked into them in order to function and changing them to a linear space will affect their output. Only maps that deal with colour should be gamma corrected.
We want to make sure that our bump and specular maps are not being linearised by Arnold’s 2.2 textures setting. We need to selectively linearise our textures. Autodesk syncolour does not work with Arnold. Solid Angle does not recommend using gamma correct nodes but instead use .tx file formats. Under the Arnold utilities, use the ‘create tx’ menu to convert you textures. We want to do a straight up conversion on our bump and specular maps from .tif to .tx in the same colour space. For our diffuse map we want to type in the command to convert from sRGB to linear. Add –colorconvert sRGB linear. Now we can change Arnolds render settings for textures to 1 so that Arnold does not try to linearise the textures in the workspace.
–colorconvert sRGB linear
Lighting in Arnold
Maya Point and Directional Lights
Arnold is compatible with Maya’s default lights. The light manager windows lists all the lights in the scene. Use the Arnold decay settings. Also use Arnold’s exposure instead of the intensity settings as the exposure is an f-stop value. Fstop = intensity x 2 exposure ?
Intensity = 2exposure
Samples control the quality of shadows and specular highlights. Radius is how much space the light takes up. The greater the radius the softer the shadows? Samples will increase the quality of these shadows.
Maya spot lights
Under the Arnold renderer settings you can add an aivolume scattering’ to the ‘atmoshpere’ attribute and control the density of this within the spotlight. You can add filters such as gobos to your spotlights.
Maya and Arnold area lights
Under the Arnold lights, an area light is called a quad light? ‘Normalise’ breaks the link between the scale of the light and the intensity. The Arnold area light has different shape options.
Lights have their own unique patterns of light and intensities. This is the IES profile for a particular light. The IES is a profile of the light stored as an ASCII file.
Create a photometric light and position it where needed. The photometric lights might produce a lot of grain. Instead of increasing Arnolds diffuse settings samples in the render settings, cut the indirect samples in half for each light.
Arnold mesh lights
You can create a mesh light from any piece of geo. Think of the shape of the light patterns that you’re trying to create. Photometric lights vs light shape:
Arnold Image Based Lighting
Create a skydome light. The skydome light is quicker to render out than the sky light that you can create under the Arnold render settings tab. The skydome does not create a picture in the background. Add the image to the aisky but only tick the primary visibility within the settings.
Extra notes: The hdri should be linear and therefore doesn’t need to be converted. We should still use tx files for rendering efficiency. Check the light with a mirror ball. Align the light source to where it would be in the footage. Rotate the skydome light from the attribute editor. Increase the intensity only in small amounts. Add the image resolution. The exposure will also have a strong effect so increase/decrease in small increments. The skydome light is quicker to render image based lighting than the aiSky. The skydome light will not render a visible sky though. The skydome light uses multi-importance sampling. We can use the aiSky with only the primary visibility set to render and plug our hdri into the colour so that it’s visible in the render.
Arnold Physical Sky
Create a physical sky shader. This won’t illuminate the scene by default. Create a skydome light and link this to the colours of the physical sky. Find the physical sky material in the hypershade and drop this onto the colour node of the skydome. Azimuth controls the direction of the sun. Control the brightness of this setup through the intensity of the physical sky instead of the exposure of the skydome. This changes the colours in the sky also. Look through the physical sky attributes. For eliminating noise, remember that it is our skydome light that is providing the illumination.
Diffuse and matte attributes for the aiStandard material
The ‘enable matte’ creates a matte for compositing. The ‘weight’ of a colours determines how many rays are absorbed by the surface and not bounced back. Roughness creates a duller surface that doesn’t reflect light. Backlighting creates and illuminated effect.
Specular and Reflection Attributes for the aiStandard Shader
You can set the geometry to subdivide at render time using the Arnold tab under the shape node.
Refraction Attributes for the aiStandard shader
When using refraction, be sure to turn off the opaque attribute under the shape node. IOR = the index of refraction. IOR could be around 1.5. ***see how different IORs affect the look of the glass. Adjust reflection weight. Dispersion Abbe number affects how the IOR varies across different wave lengths. Glass should be in the range of 10 to 70. Look online for specific numbers. The roughness of refraction creates a frosted look. Transmittance filters the IOR by the distance it travels within the object. Therefore scene scale is important for this. In thick areas the glass will be darker and in thin areas the colour will be lighter. Black areas in your glass indicate that the rays are not able to pass all the way through the geometry. Adjust this under the ray depth in the render settings. You can trouble shoot these black areas using the ‘exit colour’ e.g. Set to red, this will show up the areas that rays are having difficulty passing though…?
Work with the aiHair shader
Look into nHair in Maya. Arnold is compatible with this but also has it’s own hair system. Under the ‘hairSystemShape’ connect an aiHair shader to the Hair Shader attibute. Make sure ‘override hair’ is ticked. The aiHair shader can be controlled like other materials. The specularity will wash out the colours a lot if weighted high. When the ‘ambient diffuse’ is set to 0 the diffuse will be fully isotropic – the strand will reflect the same amount of light to the camera no matter which direction the light is coming from. Use ramps for more precise control of colours from tips to roots.
Remember, use tx files as these don’t have the gamma correction baked into them…?
***note to self, study skin and try to recreate where the maps would be for each attribute.
Rendering Special Effects and Render Outputs
Depth of field and Bokeh
You can view the object distance from the camera under the HUD. The ‘focus distance’, under the Arnold camera attributes, will determine the area that the camera focuses on and the aperture will determine the amount of focus and blur. The AA samples need to be increased to get rid of noise, so DOF should only be carried out once everything else is perfect. The number of aperture blades will determine how many sides the shapes of light reflections take on, i.e. Bokeh. You can add a ramp to the filtermap which adds a vignette to the camera edges.
Remember that the opaque flag needs to be turned off in order to render transparency in Arnold. You will need to use different aiAO shaders for geometry with different transparency maps.
Rendering volume atmospheric effects
Under the environment tab in the arnold render settings, add an aiVolumeScattering to the atmosphere. This is only compatible with point, spot and area lights. Adjust the ‘density’ of the aiVolumeScattering to contol the intensity of the scattering effect. Attenuation controls how far the light rays can travel before they are extinguished. Anisotropy controls where the scattering happens.
Rendering AOVs with Arnold
AOVs = arbitrary output variables for troubleshooting or multi-pass rendering. In the arnold render viewer, we can go through each pass and see if any are grainy and need more samples. You can create a custom AOV e.g. for AO and then select the AOV node (traingle dropdown menu) and plug in an iAO to the default shader. Use an aiUtility as the default shader to capture data such as objectID. Change the shade type to flat for this.
Batch rendering Arnold AOVs
You can render out a single exr file that has channels for each AOV. Under select driver>defaultArnoldDriver, tick merge AOVs to create one exr file. You can open this multi channel exr file in photoshop if you have the proEXR plugin, otherwise open it in something like Nuke.