Community
Maya Dynamics
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya dynamics topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Xgen Error, Groomable splines

10 REPLIES 10
SOLVED
Reply
Message 1 of 11
jewboy0117
3174 Views, 10 Replies

Xgen Error, Groomable splines

Hello everyone,

 

 

I wanted to see if someone has a resolution for the xgen animWire problem in maya 2016. I have a groomable spline setup where in the working file, I use animWire to create and attach a dynamic hair system. After the sim, I export a .abc of the  output curves to uses as wires for the groom. Then in the lighting file, I import the collection, grooming and then create a new animWire modifier. when switching the mode from live to wires files, I get an error that has been extremely frustrating. 

 

// Error: XGen:  The number of fuvs from attachment data ( 0) does not match the number of wires (2193). Deactivating the module. [maya2016_fur,fur,AnimWires1] 

 

 

I read that xgen has an issue where when this occurs you will need to shorten the length of the rendered hair which is not an option and should never be. Xgen is extremely finicky.

 

Any suggestions.

10 REPLIES 10
Message 2 of 11
Michael_Todd
in reply to: jewboy0117

Rather than create a new Animwire modifier, you could export the collection with the animwire setup that works in the sim file. After you've cached the sim curves, switch from live to cache and point to the cache file on disc and then export the collection to an XGen file

 

In your lighting scene, so long as the scalp geo is named the same, when you import the collection it will bind to he geo and rebuild the collection in place. If the geo is in a namepsace, you can import XGen into that namespace. This way, the animwire will have the connection info to the wires in the cache that is missing from the new one as it hasn't been attached to the curves, whereas the one in the sim scene has the attachment info. 

 

The error you mention is about the attachment info, not the wire length issue, which can occur if the animwires are attached  when the modifier is after several other modifiers in the stack. the short wire issue is annoying but mostly harmless. One way you can generally avoid getting this error is to turn off any other modifiers before the animwire when you create the hair system or attach the resultant curves. If you generate the curves and hair system with other modifiers active, the generated curves will be created with the effects of the modifiers baked in, which can result in them being shorter than expected by the modifier. Even if you do get this error, all that will happen is that the last couple of cv's on the primitives will be bound to the last CV on the wire.

 

Cheers



Michael Todd

XGen Product Owner and Designer

Message 3 of 11
jewboy0117
in reply to: Michael_Todd

Thank you for the reply,


I originally exported the groom and description with the animWire and
received that error so I moved to creating a new one in the lighting file
as a test.

Scalp geo is the same, and the hair is visible as well as follows the anim
but it ignores the simmed wired due to this error. As for error attachment,
AnimWires is the only modifier used. nothing else so that is not the case
unfortunately. I am moving on to a simpler test on a basic plane.
Message 4 of 11
jewboy0117
in reply to: Michael_Todd

So I found a solution to the wire issue bu **** is not pretty. Exporting the curves and importing into the lighting file. then, attaching them to the hair using attach hair system in the animWires mod. Renders well locally, now trying to figure out why it does not render with sim on the farm.

Message 5 of 11
Michael_Todd
in reply to: jewboy0117

The network rendering issue sounds like a pathing issue. how are you setting up the XGen file path in the collection? Also, is the path to the cache using a relative or absolute path to a location that the render machines can see?

 

Cheers

 



Michael Todd

XGen Product Owner and Designer

Message 6 of 11
jewboy0117
in reply to: Michael_Todd

The path to the cache is absolute. As for the xgen path, that is determined by the set maya file. ex: ${PROJECT}xgen/collections/....

 

 

One thing that I did notice, in the mode Wire files option, it defaults to ${DESC}/${FXMODULE}/wires.abc. Even setting the path, there is always ${FXMODULE}. Not sure what that is.

Message 7 of 11
Michael_Todd
in reply to: jewboy0117

You can set the path to be an absolute path, both in the XGen file path and the path to the cache.

 

To set the file path for XGen you just open the Edit File Path:

 

FilePathEdit.png

 

Then add an absolute path after the default relative path, separated by a ;

 

FilePath.png

 

XGen will look to each location in the list (you can have more if needed) till it finds the files it needs or fails.

 

The $[FXMODULE} is the flag for the modifiers directory location, based on the default XGen project location. You can replace the flags with the absolute path to the cache location.

 

Cheers

 

 

 



Michael Todd

XGen Product Owner and Designer

Message 8 of 11
jewboy0117
in reply to: Michael_Todd

Unfortunately it is not a path issue. As of now the only work around is to import a .abc of the curves, then attach them using attach Hair System but still with this method, batch rendering seems to not work. 

 

Now I am replicating the look using a spline based system since I have this process working. 

Message 9 of 11
Michael_Todd
in reply to: jewboy0117

I just tried replicating this and I didn't get the errors you got and I manged to batch render an XGen description with animwires after importing the collection to a namespaced lighting version of the scene.

 

I made the groom and setup the animwires in a groom scene. I cached out the hair system curves to an alembic file then switched from live to the cache then saved the scene and exported the XGen file to a new location. 

 

I then exported the animated geo to an alembic cache and imported it into a new scene with lights. I then imported the collection, into the same namespace as the imported geo. One thing I did that might have made the difference is that I copied the original groom file path from the original collection  to the new collections file path so that XGen points to the original folder for the collection.  You could  also copy  the original collections folders over to the new namespaced folder. 

 

In production, this type of operation would be scripted but it's not a good idea to have Maya perform this type of folder management. I didn't have to make any changes to the description to get the animation from the cache to work in the VP and I merely had to save the scene and export the patches for batch rendering.

 

AnimwireBatch.gif

 

Hopefully this helps

 

Cheers

 

 

 



Michael Todd

XGen Product Owner and Designer

Message 10 of 11
jewboy0117
in reply to: Michael_Todd

Interesting, those are the same steps that I am going through. 

 

Taking another stab at it, I was able to get everything to work. The issue was that I was not clicking "attach hair system" after linking the wires through the mode section. 

Message 11 of 11
Michael_Todd
in reply to: jewboy0117

That's a pretty important step, without doing that, Xgen has no connection to the wires. It's also important to select the actual curves, not the group node, when attaching, as XGen needs to know the base location of each selected curve and selecting the group node does not pass that info through.

 

Cheers

 



Michael Todd

XGen Product Owner and Designer

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report