
The OSL shaders will be created as nodes with their editable attributes, that can be connected to an object’s shading network graph:. The compiled shaders will now be available as custom nodes in the Hypershade Arnold library with the typical “ai” (Arnold Interface) prefix added to their names:. When Maya loads, the MtoA (Maya to Arnold) plugin will automatically compile the shaders that are found in the folder, report about the compilations or found errors in the Maya output window, and create compiled *.oso files for each shader: Open Maya.env in a text editor and add the following line to it:ĪRNOLD_PLUGIN_PATH=D:\3DAssets\OSL_Shaders. This is an ascii text file containing environment variables that Maya loads at startup. Create a folder for storing your OSL shaders, and place you OSL shader files (*.osl) in this folder.
Installing OSL shaders so they will always be available as custom nodes in the Hypershade library When compiling OSL shaders “on the fly” using the above steps, the shader’s input parameters don’t necessarily appear at their intended order that is defined in the shader code. In the Connection Editor select outValue on the left side (node outputs) and surfaceShader in the right side (object inputs): To Apply the OSL shader to an object as a surface shader, disconnect the object’s current surface shader if it has one,Īnd then drag and drop the aiOSLShader node from the Hypershade window onto the object. * OSL shaders can be surface shaders, volume shaders, procedural textures, texture processors and more. Depending on the type of output the OSL shader generates, the aiOSLShader node should to be connected to an input in the object’s shader graph or Shading Group.After the OSL code is compiled successfully, the shader’s input parameters can be accessed in the OSL Attributes section below the code:.You can read the error message in the Maya output window, or in the Maya Script Editor, Correct the code and press Compile OSL Code again. The code may contain errors, in that case you will see a red Compile Failure message:.
I f you’ve written new code, or changed the code it will have to be re-compiled.
When new shader code is imported, it’s automatically compiled:. Select the new aiOslShader node and in its attributes either write new OSL code in the code OSL Code section, or press Import to Load an OSL shader file (*.osl):. Writing an OSL shader or loading it for single use (just the current project): Steps for using OSL shaders in Maya & Arnold: You can both load or write OSL shaders on the fly, compile, test, and render them,Īnd also define a shader folder path for shaders to be available as part of your library for all projects. Autodesk Maya 2020 & Arnold 6 offer a flexible OSL development and usage workflow.