Available today on the Solid Angle Website, a preview-release of the new MAXtoA Arnold Plugin for 3ds Max 2017 SP2.
What is Arnold?
The Solid Angle web site certainly does the best job of describing Arnold, but here are the things that stand out for me, and what we feel will resonate with Max artists…
- Arnold is a state-of-the art, CPU-only, Monte Carlo, Ray Tracing renderer.
- This production-proven renderer has features to support workflows from any industry, large or small.
- It is famous for its efficient handling of massive geometry, and bitmaps of extreme size.
- It has minimal settings compared to other renderers, and easier learning curve than other five-star renderers.
- No caching to manage, or interpolation of light or shadow data, so every frame is artifact-free.
- A wealth of new shaders to play with, from both Solid Angle and third parties.
Arnold has the power and flexibility to handle the wide range of scenes our artists manage.
In this blog post I'm going to cover what is in this first preview release, and some things that will help you get started with MAXtoA.
Image by Lee Griggs, Solid Angle. "Pepe" was the first asset ever rendered in Arnold, and was in a Max plugin at the time.
About the MAXtoA Version 0.50 Release
This first preview release of the “MAXtoA” plugin is geared towards the Arnold enthusiast looking to use 3ds Max in their productions. We strived to retain much of the layout and nomenclature of other plugins to ensure that experienced Arnold users can find what they need quickly, with little learning curve. We are working to ensure the full power of Arnold is available to our artists, while also streamlining things where possible.
We’ve accomplished a lot in the four months since we started development, but as the version number implies, we still have a lot yet to accomplish. That said, our beta users have been producing spectacular results with MAXtoA, as you'll see throughout this article.
Image courtesy of Mads Droschler
The primary goal for this preview release was to provide as much Arnold functionality in Max as possible, as quickly as possible, and focus on the needs of Arnold artists. Because of this, many out-of-the-box features in Max are not yet supported; see the individual sections in this document, and the online help at Solid Angle, for more specifics on supported features.
Why a Preview Release?
We feel that this plugin has sufficient features and capabilities that it is a production-worthy tool for many uses. We reached our initial goals for supported tools, and want to get MAXtoA into the hands of artists so they can test it out, provide feedback, and help drive future development.
Unlike other plugins from Autodesk, this one is being co-developed with and for Solid Angle, and is being provided for free on their site along with other plugins. Although Solid Angle is joining Autodesk, we are approaching this joint-development effort like any third-party developer and avoiding tying ourselves to Max versions or development cycle. We want to be able to bring you new features as they are developed, and to both iterate and innovate on the design along with our users. Getting this into your hands helps accomplish that.
We also encourage you to join our beta efforts and give us your feedback. This gets you under NDA and we can share more details and future plans with you. Contact firstname.lastname@example.org and join the beta today!
What’s in Version 0.50
- Core Render settings, including:
- A new Environment / Background workflow
- Transformation Motion Blur
- Arbitrary Output Variables (AOVs)
- Export to Arnold Scene Source Files
- Basic camera functionality, including DOF in Physical Camera
- Highly interactive ActiveShade support
- New all-in-one Arnold Light
- Support for 3rd-party Arnold shaders
- New Arnold Material to connect shaders to objects
- Optional 3ds Max shader support
- Support for Sun Positioner and Physical Sky shader
- Arnold Procedural Object
- Scene Converter scripts for upgrading legacy scenes to Arnold
- Optional MAXtoA Cloud Rendering capabilities for both stills and animations
Licensing for v0.50
This free plugin is being provided by Solid Angle for users of their Arnold renderer. As with other free Arnold plugins, a valid license of Arnold is required to render without a watermark. Otherwise, the plugin has no limitations.
Our Cloud Rendering service does allow you to render watermark-free. See https://renderpilot.3dsmax.autodesk.com for more information.
Image courtesy of Adrian Wise
Arnold Quick Start
Every advanced renderer has its particular wants and needs to create successful renderings. Arnold is going to be a bit of a change for more mainstream Max users, and there are a few things that Arnold users may find different, too.
This Quick Start isn't a substitute for the online documentation, but hopefully will get you pointed in the right direction fast, and give you an idea of what we have in store for you.
With preview version 0.50, the UI does not have all the Arnold render settings that you will find in other plugins - more will be added as features can be brought online and validated. Please refer to the Solid Angle website and the MAXtoA documentation for more detailed information on the settings and their influence on your images.
The Arnold Renderer Tab
After setting your renderer to Arnold you should see the render settings below.
Note: It is recommended you use the ART renderer for the Material Editor. Arnold is not yet supported.
This tab contains the primary settings for controlling the results of the Arnold renderer. We will not cover the specific settings that also match what you will find in the online documentation, and will instead cover things that are different than other Arnold plugins, and new streamlined workflows.
Samples and Rays
This is a bit different than other plugins, as we have combined the settings into one group. This is so that you can see the related estimates change as you adjust either Rays or Samples. In other plugins you may have to switch tabs to see the estimates change.
Environment and Background
MAXtoA allows you to easily separate your Environment and Background images. You can access your Environment map settings through the Environment & Effects dialog box (Rendering -> Environments or press 8), and optionally define the Background in the settings shown here.
This feature is a departure from other Arnold plugins in that we provide some automatic, optimized, image-based lighting (IBL) from your environment map. With renderers like Arnold, using only an image for IBL results in a noisy render that takes a long time to resolve. It is recommended instead that you use a Skydome light with an environment map, this way Arnold can take advantage of Importance Sampling and produce a clearer image faster.
Since IBL is very a common workflow in Max, we automatically provide a Skydome for your scene, and also a mechanism for easily adjusting and overriding this feature.
There are two Environment & Background modes, Physically-Based and Advanced.
In Physically-Based mode (shown above), Max automatically places hidden a Skydome in your scene in order to provide optimized IBL for your rendering. There are no quality adjustments in the Physically-Based mode, and you may need to adjust Camera AA samples depending on the noise level in your rendering.
A button is provided to easily open the Environment & Effects dialog box to define your scene’s environment map.
The Background image can be the same as the Environment (default), or you can choose to use a solid color, or a custom Map/shader.
As with any map/shader, once defined in the UI, you can click-drag the shader to a material editor to adjust parameters.
In Advanced mode you have access to the parameters of the automatically-created Skydome, and can adjust or even disable that feature. It still uses the Environment map or shader defined in the Environment/Effects dialog box.
Note: For interior scenes lit through a window, it is advised to disable the Skydome and use Arnold Lights with Direct and Quad style to simulate outside illumination.
In Advanced mode you can control how the Background is visible to the camera and other scene elements, as shown in the previous image.
Setting Background to Custom allows you to place any shader in the background, and have complete control via the Material Editor.
The System Tab
The System tab contains controls for core render setting that don’t affect quality, or are utilities for things like exporting Arnold Scene Source files:
If you have issues where a renderer appears to start but you don't get buckets or pixels, try turning off the "Abort on Error" option.
The Threads are default 0, which means that all CPU threads will be used. If you want to use, for instance, two cores less than you have to maintain responsiveness in your system, set this to -2. A positive number will use only that amount. The upper limit is 256 cores. Arnold does not have a distributed rendering capability.
Arbitrary Output Variables (AOVs)
AOVs are similar in concept to Render Elements, in that they separate out components of the rendered image as it is produced, and sends it either to a separate output file and/or as a channel in an EXR. Arnold supports output types and features not found in our Render Elements, and this - along with other core issues – made it impossible to provide these through the usual Render Element mechanism at this time.
For general information on AOVs, please see the Solid Angle site and look through the documentation there..
With our implementation of AOVs we’ve taken a file-centric approach - you start defining your AOVs by first specifying the file type you want to produce, then the AOV(s) you want to save to that file type. The supported file types are along the top:
Once you click on a file type, the dialog shifts to allow you to select the AOV names:
Ctrl-Click to multi-select or toggle your selections.
If you choose an EXR or DeepEXR file type, then you have a checkbox option to “Add AOVs to a Single File”. All the AOVs will be merged into the one file by Arnold. If you choose a TIFF, PNG, or JPEG type then you will get separate files for each channel selected, as saved by Arnold.
If you’ve defined a custom AOV name in your scene, you can also add it as a text string and then press the “Add Custom AOV” button (shown above) to create the AOV at render time.
Below is the resulting tree view when you’ve multi-selected AOVs but choose a non-EXR file type (JPEG for RGB and cputime in this example), and also when an EXR type is chosen (DEEPEXR in this case):
Selecting the base in the tree view allows you to edit file options. Selecting a branch allows you to edit the AOV, or add more channels if EXR/DeepEXR is the format.
In the image above,the “cputime” AOV is being saved to a JPEG file with the same name as the AOV. An EXR called “AOVs” will be created that includes multiple channels. The AOVs file name is shown selected, so the options for that file type (DEEPEXR) are shown below the tree view.
AOV File Names
By default, the full file name that Arnold saves-to will match the render output file name plus the AOV name. So if you’ve specified “MyRender.jpg” on the Common tab as your beauty pass, the AOV file name saved to disc is “MyRender_AOVs.exr”. AOVs files are saved to the same path as the beauty image, and cannot be currently changed.
Note: You must specify your file name in the Common tab in order for AOVs to be saved by Arnold. You’ll see a warning the first time you try to render without a file name.
Unlike Render Elements, AOVs are saved by Arnold and do not show up in a window after rendering.
Exposure Control and AOVs
AOVs do not get Exposure Control (tone mapping) applied, however the beauty pass specified in the Common tab (and appearing in the Rendered Frame Window) will.
Adjusting AOV Settings
You can adjust AOV settings, and change the AOV type, by selecting the AOV type name in the tree view:
The AOVs use the image (pixel) filter defined in Arnold Renderer tab.
Using Arnold EXR Files in 3ds Max
3ds Max does not support newer EXR formats natively, yet, and you may have issues using Arnold-generated EXRs in your scenes. EXRs with only one layer seems to work fine.
Materials and Shaders
Image courtesy Josef Wienerroither
MAXtoA supports a series of “built-in” Arnold shaders, and also third-party shaders that are compiled for Windows and the current version of Arnold. Place the shaders and related files into the “Plugins” folder of your 3ds Max installation. If the developer has defined a UI layout, Max will find that and use the data to create an organized UI.
See the Third Party Downloads page for a list of suggested shader resources.
The extensive number of shaders available for Arnold is one area where you can have a lot of fun exploring. The "alShaders" are used in a lot of film and TV production, and are a great place to start.
Using the Material Editor with Arnold
You should not use the Arnold renderer to render samples in the Material Editors, yet. We suggest using the ART renderer for materials until we work through some issues. You won’t get a proper representation of Arnold shaders, but can use ActiveShade to preview and dynamically adjust materials.
Multi/Sub-Object (MSO) Materials
MSO materials are limited to 255 materials by Arnold. We’ve found some scenes may not render if there are oddities in M/SO materials or objects. If Arnold won’t render, try turning off the “Abort on error” checkbox, found in the System tab of the Arnold settings.
We have provided good support for the new 3ds Max Physical Material in Arnold. It translates behind-the-scenes into the Arnold “standard” surface shader, however not all features are fully supported. This will improve with the switch to a native Arnold shader after this first preview release.
Support for Max Materials
Other 3ds Max materials are not supported, and will not render. Use the Scene Converter to upgrade your materials to Physical.
Using 3ds Max Maps
3ds Max Maps are not supported by default. To enable the use of 3ds Max maps, add an environment variable to Windows with the variable name ARNOLD_SHADECONTEXT_SUPPORT with a value of 1.
You can add the variable by opening the Windows Control Panel or Settings, searching for “Environment”, or opening the System Properties’ Advanced tab and the Environment Variables button. You can also use the DOS command “setx” in a DOS command-line window.
Once you restart 3ds Max, enable the “Show Incompatible” option in the Material/Mab Browser to see the 3ds Max maps:
Notes on using Max Maps
• 3ds Max maps cannot be exported to an Arnold Scene Source file, and will not render outside of MAXtoA. This is important if you wish to create Procedural objects, or use services like Zync.
• You cannot connect Arnold shaders as inputs to a Max shader – everything up-stream to a Max shader must be a Max shader. For instance, a Max “smoke” can go into an Arnold shader’s color, but an Arnold shader cannot feed a Tile’s color, and so on.
The Built-In Arnold Shaders
In the Material/Map browser in the Maps section you’ll find an Arnold group and a “- built in” section:
These are the basic shaders we are shipping with MAXtoA, and additional shaders will likely be added after the first release.
Not all shaders have features in Max to make them operate, yet. Light Filters, for instance, don’t yet have a mechanism to add them to a light, and that is in the works.
The Arnold Material
For surface shaders such as the Arnold “standard”, you’ll need to use the “Arnold Material” to connect the shader to objects in your scene. The Arnold Material is found in Materials and the Arnold group. This is a typical use:
Above you can see the Arnold “standard” surface shader going into the Arnold Material; the Arnold Material can then be applied to an object.
Third-Party Shader Support
Generally, any third-party shaders compiled for the correct version of Arnold for Windows will work in MAXtoA. Simply place the dll and mtd files into the Plugins folder of your 3ds Max 2017 SP2/MAXtoA build. Restarting Max should now show the new shaders in the Arnold maps section of the Material/Map browser.
Many Arnold shaders – and all third-party shaders - use a new “Auto-UI” feature that is still being refined. Shader developers will eventually be able to specify a better UI for their products. For now, read the documentation on the shader for a better idea on the parameters.
Max Legacy Lights
Legacy 3ds Max lighting does not work in Arnold at this point. To light a scene, use Image-Based Lighting (IBL) or use the new Arnold light in your scene. We are providing new Scene Converter scripts to upgrade your scene to use the new lights.
The Arnold Light
Lighting is likely to be an area of some confusion for Max users unfamiliar with Arnold workflows, particularly with architectural scenes. Even with the Scene Converter, your scenes won’t necessarily work out of the box. Arnold does not currently support physical units for their lights, and a conversion to Arnold settings is not yet straightforward.
The online MAXtoA Arnold documentation is the place to look for what a particular setting does, and taking time to look at the Intensity and Exposure setting documentation is essential:
In Arnold, the visible Intensity in the rendering is a combination of the Intensity setting (above image), multiplied by (2 to the Exposure) value. Having an exposure setting on a light isn’t intuitive at first, but essentially every whole number increase jumps the intensity the same as if you adjusted the f-stop on a camera one unit. It is a large jump, doubling or halving the value with each unit change. Photographers and cinematographers should get this quickly, and I tend to just use f-stop when adjusting my lights. The text next to “Resulting Intensity” changes to show the final calculation of energy being put into the scene.
The “Normalize Energy” option is On by default, and prevents the size of an area light from affecting the intensity in your image. With this On you can adjust your soft shadows by modifying light size, without needing to tweak the Intensity to compensate.
For some workflows having this Off gives you the expected results; larger lights generate proportionally more illumination in your scene. You won’t know the actual Resulting Intensity in your scene, however, and it is more to your artistic touch to define light values.
Bitmaps on Lights
For the Skydome and Mesh light types, you can define a Bitmap in the light UI:
This is in the common Color/Intensity/Decay area and not along with the settings for the Skydome or Mesh light types.
Using Mesh Lights
Mesh light objects do not glow in your image, and this is expected. You must also use an emissive material to make it glow in the scene. Using a Physical material, however,will result in additional illumination and noise in the rendering, and should be avoided.
The correct method is to use an Arnold Material with a “standard” shader set to be Emissive, and the standard shader’s “Bounce Factor” set to 0.0:
Rendering your scene with all lights Off should result in an image with only glowing Mesh Light objects, without specular reflection, and no additional illumination. With the Mesh Light turned On it will produce illumination and specular reflections (if enabled).
Atmospheric (or volumetric) effects are not technically supported yet. You can, however, place a voumetric shader into your environment map and enable Atmospheric options in your lights.
You will likely have a lot of fun experimenting with the vast array of shaders available for Arnold.
I hope this gives you a good idea of what we have for you in this first release, and some clues on how to get scenes working quickly in this fast and powerful new renderer for Max!