The Arnold API reference is now available online at docs.arnoldrenderer.com/api/latest
Arnold 6.0.2 includes a new string_replace that lets you do find and replace on string parameters.
For example, I got an ass procedural file from a user, but I didn’t get the textures. Normally I would just enable ignore textures, but this time I used string_replace to replace all textures with my trusty-old-Softimage noicon pic.
- Selection selects all Arnold image nodes. So this string replace operation applies to all string parameters of the image node (which includes name, uvset, color_space as well as filename).
- Match is a regular expression that matches anything that looks like C:/project/sourceimages/example.tx or X:/temp/test/example.tx
- [A-Z] matches any drive letter from A to Z
- .* matches any string of characters
- Note that match is a regular expression, so you cannot use glob wildcards like this: C:\sourceimages\*.tx (because * is not any string of characters, it is zero or more occurrences of the previous character)
- \.tx matches a period followed by “tx”. The period has to be escaped with a backslash because ‘.’ matches any single character
- Note that this match expression won’t handle something like example.txtra.tx
- Replace is the string that replaces anything matched by the Match expression.
For Arnold itself, you can ignore that message. Unless you have an Arnold license.
Couldn't register Arnold renderer in Maya PIT file (error while parsing .pit file). Please contact email@example.com.
For Maya, that message is a symptom of a problem with your Maya install: the Maya installation is not creating all the required files on your system.
If you finish the install (you can install without MtoA if you want), and then try to start Maya and nothing happens, then the ProductInformation.pit file is missing or corrupt.
The Maya install should create this file:
If there is any problem with that file, Maya (and any other Autodesk software) will not start.
Arnold will still render, but it won’t be able to use any Arnold license.
If that file does exist on your system, delete it.
Then remove all Autodesk software, and install Maya again (without MtoA)
You can install MtoA later (go to arnoldrenderer.com/arnold/download to get the latest MtoA).
If you still have problems with the Maya installation, log on to your Autodesk account to contact the Autodesk support team, or go to the Install and Licensing Autodesk forum at https://forums.autodesk.com/t5/installation-licensing/bd-p/24
In this case, when the user tried to render after enabling the OptiX denoiser, they got this error:
ERROR | [gpu] OptiX version 0.30.91 is lower than the minimum required version 5.0.0
This was with MtoA 3.0.1, which means Arnold 220.127.116.11
So, that means there is an incompatible version version of the OptiX library on the system, and it’s being loaded instead of the OptiX that ships with MtoA.
I probably could have just checked the PATH setting, but I used Process Monitor to absolutely sure, and I found this:
The problem is that another renderer added itself to the PATH. That’s a bad thing 😉
The solution? Remove that folder from PATH. Create a batch file or wrapper script to set the required environment when you start Maya to use the other software. Rather like the mtoa module file sets PATH when you start Maya.
NOTE In previous versions of MtoA, this would prevent MtoA from even loading.
First, here’s some Arnold renders of a few old-time Softimage models:
And now, here’s the announcement:
Softimage to Arnold (or SItoA), the Arnold plugin for Autodesk Softimage is being made available to the community under an Apache2.0 open source license at:
This repository contains the official SItoA plugin source code. Solid Angle, the company behind the Arnold renderer, and now part of Autodesk, developed the SItoA plugin commercially from 2009 to 2017.
After the Softimage end-of-life announcement in April 2014, Solid Angle committed to continue the development and maintenance of SItoA for at least a year, and then extended this period until July 2017, porting SItoA to the new Arnold 5 API along the way.Governance
Please submit your issues and pull requests on github, the old Trac server will remain available for a while as read-only but we won’t accept any new users.
We will continue to monitor and review pull requests submitted to this repo on a voluntary basis, but will not release official builds any more.
AcknowledgmentsBefore it was open-sourced, throughout the years, SItoA has been developed by:
- Luis Armengol
- Borja Morales
- Stefano Jannuzzo
With contributions by:
- Andreas Bystrom
- Steven Caron
- Julien Dubuisson
- Steffen Dunner
- Michael Heberlein
- Paul Hudson
- Halfdan Ingvarsson
- Vladimir Jankijevic
- Alan Jones
- Guillaume Laforge
- Thomas Mansencal
- Helge Mathee
- Eric Mootz
- Holger Schoenberger
- Frederic Servant
- Jules Stevenson
Special thanks to all the users who passionately provided feedback, production assets, bug reports and suggested features during those years.
If you see this error in the script editor
# Error: Register failed for arnoldAOVChildSelector #
that means your preferred render layer setup is Legacy Render Layers (so MtoA fails to register something that’s used for the new Render Setup).
If you’re not using Render Setup, then you can safely ignore this error.
Light linking in Maya, include/exclude objects for lights in CINEMA 4D, light masks in Houdini, inclusive/exclusive lights in Softimage, they all are translated to light_groups and shadow_groups in Arnold.
Here’s a sphere on a plane, with two area lights (cyan and green).
If we add a light_group to the sphere polymesh:
use_light_group on light_group "CyanAreaLight"
then we get this (see below). The sphere is lit only by the cyan area light: the light_group is the lights that affect the object.
Note that the sphere still casts shadows from the green light, even the sphere isn’t lit by the green light. That’s because there’s no shadow_group, so all lights cast shadows from the object.
If we add a shadow group, so that the light_group and shadow_group are both “CyanAreaLight”, then the sphere is lit by the cyan light only, and casts shadows from the cyan light only.
use_light_group on light_group "CyanAreaLight" use_shadow_group on shadow_group "CyanAreaLight"
And finally, here’s the sphere when light groups are on, but there’s no lights in the light group:
use_light_group on use_shadow_group on shadow_group "CyanAreaLight"
To use Autodesk licenses for Arnold when you batch render with Maya, Arnold must be registered in the Product Information file (aka the PIT file).
Normally the MtoA installer does this for you. But if you’re running Maya and MtoA from a network install, then Arnold won’t be registered in the PIT file, and you’ll see this in the Arnold log:
00:00:00 381MB WARNING | rendering with watermarks because of failed authorization: 00:00:00 381MB | [rlm] error initializing license system: 00:00:00 381MB | [rlm] * Can't read license data (-102) 00:00:00 381MB | [clm] product key not found (44)
and you’d see something like this in the Adlm.log:
337296 2017/11/03 12:29:54 Reason=Fatal error 337296 2017/11/03 12:29:54 ComputerName=WORKSTATION 337296 2017/11/03 12:29:54 OS=6.1.7601.Service Pack 1 337296 2017/11/03 12:29:54 File=AdlmIntLicense.cpp,Line=594 337296 2017/11/03 12:29:54 VendorID=6 [ADLMPIT] 337296 2017/11/03 12:29:54 VendorError=12 [The root information in Product Information Table XML file is missing] 337296 2017/11/03 12:29:54 Reason=Fatal error 337296 2017/11/03 12:29:54 ComputerName=WORKSTATION 337296 2017/11/03 12:29:54 OS=6.1.7601.Service Pack 1 337296 2017/11/03 12:29:54 File=AdlmIntLicense.cpp,Line=595 337296 2017/11/03 12:29:54 AdlmIntError=25 [The product key was not found]
MtoA includes pit/pitreg for registering Arnold in the PIT file, so you just need to run pitreg on the local machine, like this:
C:\solidangle\mtoadeploy\2017\pit\pitreg.exe Succesfully added Arnold information to PIT file
Don’t do this:
cd C:\solidangle\mtoadeploy\2017\pit\ pitreg.exe
because you’ll get this error:
Failed to add Arnold information to PIT file (Error 26)
I’ve seen several variations of this question recently. Usually there’s some confusion about “Arnold standalone” and what’s actually required on a render node.
If you rendering scene files from Maya, or 3ds Max, or some other 3d application, then you do not need Arnold standalone.
For example, let’s suppose you want to render Maya scene files.
- You need to install Maya and MtoA on each render node.
- You don’t need Maya licenses for batch rendering, and you don’t need Maya licenses to install Maya on render nodes.
- You need Arnold licenses, which are a separate purchase. MtoA is free and unlicensed. Arnold, however, does require a license to render without the watermark. You need one Arnold license for each render node (for you CINEMA 4D users, a TeamRender client is an Arnold render node and requires its own license).
- You need an Autodesk network license server running somewhere (not on a render node).
- You need to connect Arnold to the Autodesk network license manager.
It’s the same thing for 3ds Max and MAXtoA.
Here’s a way to use standins with MASH dynamics: instance a low-poly mesh that has its Arnold Translator set to procedural.
- Use a low-poly primitive as a proxy for the standin
- In the low-poly primitive Attribute Editor, set Arnold Translator to procedural, and enter the path to the ASS file in the Path box.
- Instance that proxy object with MASH, and apply MASH dynamics