Please or Register to create posts and topics.

Xgen with Pandora and prism-pipeline

Hi Richard!

I saw an existing post about xgen handeling but  I think this topic is more related to Pandora.
I've been experimenting xGen in maya 2019 with Arnold using Prism-Pipeline and Pandora. I've been struggling for 2 days understanding how Xgen works and how to have the hairs rendering through Pandora.

I think I nailed it and wanted first to explain how to make this work and also get some ideas from you to automate the process.

My basic goal was to use Pandora instead of maya's batch render. I don't like maya's batch render at all, I want to be able to pause, resume and easily see the progress. So at the moment I only use one computer but I assume this would work if we add computers to the farm.

Sooo lets start from scratch.
I use prism-pipeline to manage the project. Xgen uses maya's project folder... it cannot work any other way.
Normally, Prism will setup maya's project folder at the root of the prism project.

1) When you add your first groom with Xgen, it will create an xgen folder a the root of Prism's folder. Don't change this. Xgen will store maps and other datas inside of this folder.

2) Then you have to configure your grooming. You can test the result with Arnold IPR, no issues at all with this. It should work pretty well.

3) When ready to render your animation, you must bake the patches to Batch render (in xgen -> File -> Export patches to Batch Render). This will create a .abc file inside the working scene file directory.

4) Then, to submit the job to pandora, you use the Prism State Manager. Hit publish and Prism will save and name the submited scene as new file with your comment string coming out of the state manager. This newly named scene will also be copied to Pandora Coordinator directory and used to render the job.

Pandora will now try to render your job but with no luck. In fact xgen will look for its .xgen and .abc file within Pandora's Coordinator Job directory and won't find them and tell the render to abort.

I tried to copy the latest .xgen file from the working scene directory to the job directory (the .xgen file will be automatically created after the publish so no need to rename this one) and rename the latest .abc file from the same source to job directory sothat scene names matches correctly.
Now the job will find both files and start rendering... yes but... for a reason I don't understand, the hair simulation freezes on one frame each 3-4 frames..... anoying.... very anoying...
- Some threads over the internet suggest to set Maya's Viewport Evaluation to "DG" to avoid simulation freeze. Saw no changes with this option.
- Also, there's an option in xgen to use a specific .abc file but the path is not correctly translated to pandora's job. I tried to force that path serveral ways but never translated correctly. The path always starts from pandora's job directory when rendering...

So I found out a work around:

1) Submit the job to pandora with "Submit Suspended" option turned ON.

2) When published, run the "Bake patches to Batch Render" process. So now we have a .xgen and .abc files named correctly in our working scene directory.

3) Copy those files to the job directory

4) Finally enable the job in Pandora

5) Enjoy no more simulation freeze, and hair is rendering !


If any of you now have any idea on how I could automate that process or if you found another way to make this work it would be greatly appreciated 🙂