How to buy
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © 2025 Autodesk Inc. All rights reserved
Hello,
So I have a character for which I've created a collection with several descriptions to make up his hairstyle. I want to keep the project clean and leave xGen on its own file in case there needs to be changes, instead of making the changes in the light scene itself. So my question is, is there a way to create an alembic file with the xGen collection in it, in which I can just import into a new scene and have it render as a proxy?
I tried doing this different ways, like manually trying to export an arnoldStandIn, resulted in an unrenderable result and this: 'Error: line 1: XGen: Failed to open file and the fallback attempts also failed: E:/Projects/CP/Character/Model/maya/hairHead_07__collection.abc'
I also tried exporting patches for batch and it did create an abc file but couldnt get it into a scene as a clean proxy.
I also tried creating an alembic cache but resulted in importing my collection name with the description groups empty.
Is there a workflow around this? or do you must have the whole collections editable in the scene and cannot be rendered as a proxy/alembic file?
Thank you!
Did you turn on "Expand Procedural" on the ASS file export options?
You dont even need the geo in the scene:
The hair won't show in the ASS file preview but it will show in the render.
You can export the ASS file with animation as well and the hair will follow the animated geo. You will get an ASS file per frame, though, and the space that they can take up may vary depending on the amount of geo in the original scene.
Each of these tigers (47,000 in the full shot) is an animated Arnold Standin, instanced as Archive objects in Xgen.
Cheers
Hello,
Is there any preparation to the scene that should be done? Are you selecting the mesh and the Collection entirely, or anything specific within the Collection?
I'm following the steps as shown in the screencaps but the Arnold Stand-in I get is empty. I don't have much experience with xgen so I'm not quite sure why that's happening. Any ideas are welcome.
Many thanks,
Hana
For future reference, as this really badly documented by Autodesk. Personally I couldn't get the hair to render in batch in Arnold directly even though I baked the curve animation, set the renderer to batch mode, etc. It just renders static hair (attached to the scalp) when I render in batch.
The only way I was able to get the hair to render with animation was to do the following:
- Select the collection (not sure if it works for individual collections, didn't try).
- Go to Maya main File menu and select export selection.
- Chose the ASS format and as described above don't forget to click "expand as procedural".
- Then set sequence export on, start end frame, path, etc.
- Export
On my end, Maya freezes on the last frame exported? I had to "crash" maya and restart.
- Re-open your maya file
- Delete everything that's hair related (sim, collection, etc.)
- Go to Arnold -> Standin to create a StandIn node
- Set the path to the ASS file and select sequence.
Beside some issues with exporting the ASS files in a first attempt (the bboxes was not right, I had to create a Maya file from scratch and reimport the collection), it seems to work.
It would be great to have seen this workflow documented somewhere. Also Arnold rendering in Batch directly from Xgen doesn't work. It seems like a bug to me, at least certainly not documented.
Hi there! I'm having the same problem you described @TuringFox, I've been trying to render a simulated XGen groom in Arnold and am only getting a static groom that moves along with the animated character without the simulation I have on it. I can see the simulated hair in still frame renders but get static hair when I batch render. I have exported the patches for batch render, my simmed guides are all cached out using nCache and attached to the XGen groom through an anim wires modifier, and in the Preview/Output settings I have Render, Arnold Renderer, and Batch Render selected. I agree with you that batch rendering XGen grooms in motion does not seem to work in Arnold and is pretty frustrating!
I've tried what you suggest here, exporting the collection as a sequence of ASS files and bringing them in through a standin object, but I am still not getting motion that way. I wondered if I missed something you said? Here's what I did:
Did anything in there seem incorrect to you? Thanks for your help!
Hi @MIKKIROSE
First all let me say I sympathize. Xgen while having lots of amazing qualities is also broken in many places.
So thanks for making the effort of reporting your steps carefully and completely. The problem is that I don't see anything wrong in your steps or anything I wouldn't have done myself. So I am not sure what to advise here. What I would do is insure that you have actually really baked out your animation.
So I didn't describe more than what you did describe yourself but I wanted to be sure that your baking our of the animation actually worked. I would say this is step 1 in your check list. And again this worked for me using the animation method that doesn't use AnimWire modifier (which also seems to be fundamentally broken). But I will check if this workflow works with AnimWire.
I'd say Maya scenes setup with Xgen nodes are extremely flaky to say the least. I had on numerous occasions unexpected behaviors, bugs and countless ambiguous error messages. The only solution I had to keep making progress was to start from scratch, reimporting a collection.
I will post an update once I tested the AnimWire approach. Oh another last advice. Maybe test your pipeline on a good old sphere to see if you can get it working with this. If this doesn't work still on a simple replicable setup then it's likely not to be working at all. And then what can I say ... empathy won't be enough...
See also:
https://forums.autodesk.com/t5/maya-forum/arnold-xgen-animated-hair-rendering-workflow/td-p/11073862
Ok so here are my findings and hopefully this will help a bunch of people in the future, as I spent a couple of days on this. I re-iterate that Autodesk's docs on that process are pretty useless. Lack of tutorials coming form Autodesk.
Method 1: Using the Guide Animation Method
You should be good to go. Play the sim. It sims. Lucky you.
setAttr "nucleus1.spaceScale" 0.01;
setAttr "nucleus1.subSteps" 20;
setAttr "nucleus1.maxCollisionIterations" 20;
setAttr "hairSystemShape1.collisionFlag" 1;
setAttr "hairSystemShape1.selfCollisionFlag" 1;
setAttr "hairSystemShape1.selfCollide" 1;
setAttr "hairSystemShape1.solverDisplay" 1;
setAttr "hairSystemShape1.collideWidthOffset" 1;
setAttr "hairSystemShape1.collideWidthOffset" 0.5;
setAttr "hairSystemShape1.solverDisplay" 2;
setAttr "hairSystemShape1.friction" 0.6;
setAttr "hairSystemShape1.stretchResistance" 300;
setAttr "hairSystemShape1.compressionResistance" 200;
setAttr "hairSystemShape1.bendResistance" 30;
setAttr "hairSystemShape1.startCurveAttract" 1;
setAttr "hairSystemShape1.mass" 0.1;
setAttr "hairSystemShape1.drag" 0.25;
setAttr "hairSystemShape1.damp" 0.25;
setAttr "hairSystemShape1.collisionLayer" 2;
Then comes the baking stage:
Good. Now go to your Preview/Output tab.
Now save your scenes. If I didn't miss anything and that you are luck, you should be able to render in batch.
Additionally:
Method 2: Using AnimWire
As you can see I have baked the curves out to Alembic cache like in method 1, unchecked the live box, and set the path to the ABC file. You can see that the strands are following the wires ...
The rest is the same as with method 1. For the rendering part. Set the params to render in batch (see above) and then render in batch. This worked for me. Also you can export to ASS files and use that in another file as a StandIn.
Pfeu...
I have to say this has been a really painful journey. Maya's docs are providing a description of what the params are doing but something like "Bake: Allows to bake the data" is not very useful unless you understand the workflow. The problem is Autodesk does not provide such documents. The video available whether form Autodesk or the community do not cover animation most of the times, and certainly not the rendering workflow in details. Which is what I attempted to do here.
I don't find it particular normal that it's up to the users to spend days to figure out, not mentioning the bugs I found along the way (like caching out the sim to nCache breaks the file sometimes when you re-open it next, the weird stands staying up in the hair where you use anim wires, and list goes on and on). The workflow is rather AWFUL as you need to go through SO MANY STEPS before you eventually get to render something. A properly integrated system would allow you to sort of sim the guides or the wires directly. Assuming you can create the wires which is impossible right now unless you know you have to turn auto update off (that's clearly, not, a feature). You can't render in batch unless caching which I personally don't understand why. If you render the frames sequentially this shouldn't be necessary.
So anyway, hope someone at Autodesk will read that, but I doubt, and even if they do, I doubt they have enough power to change the way Maya works. Despite this, I have to say Xgen has really good qualities. The general problem is how flaky and convoluted the whole thing is.
Hope these explanations though will help users in the future. I wish I had found something like this. WOuld have saved me days of non productive work.
Hi @TuringFox ! Thank you so much for updating this thread with all of this information! I apologize for my slow reply, I had to keep moving forward with the class I was teaching this to so for a quick work around I had them convert their grooms to iGroom to batch render, which does seem to work but loses some of the shading options they used in legacy XGen. I've just tried the Use Animated Guide method you outlined (rather than the Anim Wire) I used before and I still did not get moving hair in my batch render. I'm going to create a brand new example tomorrow and try it from scratch in a clean scene. I'll report back either way what I'm able again. Thank you for your help!
@MIKKIROSE You're welcome. I am curious to know if this worked for you. The problem is that there's often a lot of steps and it's easy to miss one. If you haven't done so, be sure it works with something simple first, and that you can repeat the steps with reliable results.
I am testing this workflow on a complex shots (1500+ frames) and while I do have many many problems of all kind, it seems to be working so far at least technically. Artistically it's another problem).
How to buy
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © 2025 Autodesk Inc. All rights reserved
Type a product name