Troubleshooting

There could be several root causes if you do not see any character after rendering on the farm:

  • The Golaem plugin cannot be loaded by render nodes
  • The procedural plugin cannot be loaded by the renderer on the render nodes
  • Wrong scene configuration (no render proxy, or hidden render proxy...)
  • Referenced assets (.gcha, .fbx, texures...) or Simulation Cache not available on the network

Follow these steps to determine which step fails and how to fix it.

1/ First and foremost, check if MAYA_MODULE_PATH is set

For all the Golaem binaries to be found by Maya at render time, the MAYA_MODULE_PATH needs to be set by your render farm manager when launching Maya. If you have not done it yet, you should check Configuring Render Farm Manager

If you think you have done the right setup, there is a simple way to check that everything is correct. It is not enough to check interactively on the render node that the variable is set. Indeed some render farm manager will replace the node environment before launching a new render.

The only way is to render a specific file through the render farm manager and check the log to the what the environment variables values really are.

The file is simply created created by opening Maya and launching the following MEL command in the Maya script editor:

scriptNode -st 1 -bs "print(`system(\"set\")`)";

Save this file, and render it on the farm.

This scriptnode will launch the system("set") command when the file is rendered, and then output the full environment variables list and their values in your logs.

Check that the MAYA_MODULE_PATH is set and really points to your Golaem installation root directory.

Also check that the renderer specific variables automatically set by the golaem.mod file found in the installation root directory were not overwritten by your dispatcher ( see Environment Variable List )

2/ Check if the Golaem MAYA Plugin loads

Find the complete log outputted by Maya (the location depends on how you are dispatching the render on your farm).

When the Golaem plugin is found and loaded, it output something like

// GolaemCrowd - 5.2.2.0 - Release 5.2.2 of 2016/08/11 - Golaem Crowd Plugin. Copyright (C) Golaem S.A.  All Rights Reserved. // 

If not, it means that Maya cannot find the plugin, and it will probably output an error like

Error: line 1: RuntimeError: file <maya console> line 1: Plug-in, "glmCrowd", was not found on MAYA_PLUG_IN_PATH.
In this case, it means that the Golaem maya plugin is not reachable by the node, or that (contrary to what Maya says) the MAYA_MODULE_PATH variable is not set correctly. 
 
Go back to 1/. If you are absolutely sure that the MAYA_MODULE_PATH is correctly set but you are still getting this error, please contact us and provide the result of the check mentioned in 1/ + a complete failing render log

3/ Check if the renderer is loading the Golaem Procedural

Each renderer report that it has found and loaded the Golaem Procedural plugin or NOT in the render logs.

The message differs depending on your renderer:

Mental Ray

Mental Ray output the following message when the Golaem Crowd procedural plugin HAS BEEN loaded successfully:

// parsing C:/Golaem/GolaemCrowd-3.0.15-Maya2014/procedurals/glmCrowdMentalRayPlugin.mi
// error (line   59): parse error, unexpected MATERIAL
// loading C:/Golaem/GolaemCrowd-3.0.15-Maya2014/procedurals/glmCrowdMentalRayPlugin.dll
Do not worry about the "Unexpected MATERIAL" error. The related line is a Mental Standalone specific parameter, which is ignored by the Maya version.

V-Ray

Mental Ray output the following message when the Golaem Crowd procedural plugin HAS BEEN loaded successfully:

V-Ray: Starting render
[2014/Jan/8|16:59:44] V-Ray: Loading plugins from "C:\Golaem\GolaemCrowd-3.0.15-Maya2014\procedurals/vray_*.dll"
[2014/Jan/8|16:59:44] V-Ray: 1 plugin(s) loaded successfully

Arnold

Arnold does not output any message when loading the Golaem Crowd procedural plugin, however it output some errors at render time when it fails (provided you have a valid Golaem Crowd rendering proxy for Arnold in your scene):

00:00:05   451MB ERROR   |   [proc] CrowdProxyArnold1Shape: error reading dynamic library from glmCrowdArnoldPlugin.dll: The specified module could not be found.

3Delight

3Delight does not output any message when loading the Golaem Crowd procedural plugin, however it output some errors at render time when it fails (provided you have a valid Golaem Crowd rendering proxy for 3Delight in your scene):

3DL ERROR A2010: RiProcDynamicLoad: cannot find shared object 'glmCrowd3DelightPlugin

 

If the Golaem Procedural plugin is not found, you need to check that the environment variables related to your renderer are set correctly. They should be automatically set when the golaem.mod file is loaded by Maya, but in some cases, the dispatcher is overwritting them. In this case, set them explicitely in your dispatcher configuration, the same way you have set the MAYA_MODULE_PATH variable (but pointing to the procedurals/shaders directory instead, see environment variables list).

4/ Check if the Renderer output some errors

Once you are sure that both Golaem Maya and Procedural plugins are loaded, you need to make sure that Golaem can find the file needed for rendering (.fbx, .gcha, simulation cache...). These files need to be reachable by ALL render nodes and referenced by there network path in the Maya scene.

If rendering works on the artist's workstation and not on the farm, it may means that some of these files are available only on the artist workstation, or referenced through a path that does not exist on the farm.

Here are some examples of messages which can show you what is going wrong:

FBX file not found

Error: [GolaemCrowd::ERROR] Golaem Core: Failed to load the character file 'C:/Golaem/GolaemCrowdSamples-3.0.14/crowd/fbx/CMO-man_golaem.fbx'.

In this case, open the Asset Manager, and check the path used to reference the .fbx file. See Relocating the FBX file to know how to change this path.

Simulation Cache not found (or rendered frame not in simulation cache)

warn : [GolaemCrowd::WARNING] The frame '67' was not found in the simulation cache!

Check the attributes of your render proxy to see how the cache is referenced, verify that the cache file has been created, and that it is reachable by the render nodes. Also check that the frame you are trying to render has been exported in the cache (always remember that frame 0 is never exported).