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

XGen Patch Reference and Batch Rendering

3 REPLIES 3
Reply
Message 1 of 4
HingeEric
2820 Views, 3 Replies

XGen Patch Reference and Batch Rendering

Here's my issue - When I render XGen fur animation, I have fur jittering. I'm trying to understand what XGen patch referencing is and how to get it to work in Maya 2015. If you're familiar with XGen and think you can help - please read my lengthy synopis below.

 

I've been developing a fur groom in Maya's XGen. I have one collection "cat_v003" with multiple descriptions within, most of which are grooms, with a couple being spline driven hair systems.

 

My studio is currently working on original release Maya 2015 (no SP ugrades). Due to problems I've read in other forums posts here, my render scene is currently set up in the following manner:

1) A referenced NON-namespaced groomed model.

2) A referenced (no-hair) render-rig with a namespace driven by alembic cache.

 

The render rig is hidden, but it drives the groom model via blendshape. This is due to the problem with our alembic workflow and namespaces. I could not get the referenced groom to have a namespace and work, but the animation requires a namespace to drive the animation. Therefore one model is driven by alembic and then it in turn drives the groom model via blendshape. It's a bit of a hack - but it works(ish).

 

NOW the real problem. When I render out an animation the fur jitters. Maya's short and sour help dialogues for XGen describe this as a problem due to the geometry deforming, thus every frame a new set of randomized hair is generating, causing the noise/jitter/popping effect. Fantastic... So Maya's help dialogues suggest a Patch Reference instead. Except there is no documentation out there that adequately describes what patch referencing is or how to implement it in a scene. I REALLY want to solve this bit and hopefully create a thorough tutorial for those in a similar bind. However, I'm at my wit's end. All the tutorials out there say "just export patches to batch render and go!" That's useless apparently unless it's hair that is attached to non-deforming mesh. Lots of tutorials on HOW to make a groom, but very little if any documentation on implementing XGen in an actual production workflow.

 

I have tried:

-Importing my collection to the render rig mesh and binding it (the results definitely lose information along the way). So far this hasn't accomplished anything but grief and heartache.

-Baking primative placement via XPD file and then instead of generating random primatives, reading the XPD bake file. This results in the fur staying in my "t-pose" groom position, and not following my cat.

 

This information seems to describe my exact problem and the solution to it. EXCEPT it really doesn't clarify how this is implemented. I would LOVE someone to translate this into artist speak for me.

 

http://help.autodesk.com/view/MAYAUL/2015/ENU/?guid=GUID-0D47A0EB-1917-4619-AA5E-630E16399E0F

 

So can someone describe exactly what patch referencing is and how to implement it in a scene? 

3 REPLIES 3
Message 2 of 4
pshwayka
in reply to: HingeEric

Hi Eric,

 

The only way I can see to create an XGen patch reference is by binding a description to geometry.  (Note that the XGen Pref attribute shows up under the shape node of the object you are binding to whenever you either a.) Create a new collection for an object or b.) import a collection and bind a description to a new object or to selected polygons.

 

What is confusing is...in the XGen FAQ under the question "Why do primitives pop in and out when I animate my model?" where the conclusion is that "it is a good idea to use a patch referenced model."  My question is, how could you not, and have the hair show up at all?

 

But on to my theory about your particular issue...Further down in the FAQ, there is the question "Why does my patch-referenced model still pop when I render?"  The answer talks about XGen not being aware of newly created patch references until a scene is saved and reloaded.  What I'm wondering is...since you are implementing referenced geometry in your scene that is freshly loaded every time the scene is opened, do you think there is a chance that XGen is never able to fully interpret all of the XGen Pref data correctly?  Again...just a theory.

Message 3 of 4
mario.domingos
in reply to: HingeEric

HI!

 

Have you solved this problem?

 

Tks!

Message 4 of 4

XGen generates a pref attribute on the geo it is bound to, this attribute stores info on the mesh that tells xgen the 'Bind' pose of the mesh. This is to prevent the density (primitives per unit area, cm) from changing (the popping) as faces are deformed, changing their surface area. The attribute is added by default, and though it can be deleted, XGen will regenerate it on scene load.

 

I suspect that noise expressions have been used somewhere without using the $pref variable. If the character is moving through space in the scene, if the $pref variable is not used, it's like moving the hairs through a worldspace noise field. The $pref attributes will put the noise field in object space relative to the mesh that XGen is bound to.

 

Would it be possible to post an example file showing the issue? It would make it a lot easier to find the problem.

 

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