Question about nCloth parameters (Quality Setting Related)

894 views
Skip to first unread message

Seila

unread,
Feb 9, 2012, 1:39:40 AM2/9/12
to maya...@googlegroups.com
hi, all

I've plenty questions about nCloth parameters after i go through maya document, and some topics maybe discussed before but i still got confused after reading these post. Since there are so many parameters in nCloth node, it would be a mess if discussing all of them just in one post. Here i propose to ask some parameters under nCloth node's Quality Setting section:

Trapped Check:
From previous post i know this option will push out vertices of other cloth node where triangles are in interpenetration, so i create a passive object and a nCloth object both come from trianglated polygon and make some part of them intersect to each other. I set the passive object's Trapped Check active and expect to see the vertices of nCloth object to be pop out. However nothing happens during simulation. Why Trapped Check not work for this case ?

Self Trapped Check:
This time i combine two triangulated polygon sphere with part of them intersection to each other to mimic a self-intersect situation, and make this object an nCloth object then active the Self Trapped Check. Nothing happens too ...

Crossover Push:
I got confused with the word "crossover" since i consider "vertices of one nCloth object penetrate surfaces of another nCloth object" as crossover, it seems no need to have this option since Trapped Check also do the same operation - push penetrating vertices out of surface. How to build a simple scene to test this parameter ?

Max Iterations:
As document provided the meaning of Iteration is "A single computation of a single nCloth property by the Maya Nucleus solver", and from the nucleus white paper
http://area.autodesk.com/blogs/cory/nucleus_white_paper

Is "a Iteration" means one red brick or a column of red bricks in above picture ? "Max Collision Iterations" in nucleus node and "Max Self Collide Iterations" in nCloth node set the number of red brick in Self-Collisions and Collisions ?

Evaluation Order and Sort Stretch Links:
Here i build two polygon strips and the edge index at bottom is lowest and i activate the Sort Stretch Links option in one them. I also set both nCloth object's Solver Display to Weight to show the vertex calculation order. I expect to see two opposite distribution of weight since one will follow the order of edge\vertex index and one will follow how far vertex from constrain or collision, however i got the same result in viewport ... am i misunderstand these parameter ?

I appreciate any suggestion about these issues, thanks in advance !!
(The attached file is my test scene that won't work, hope some one could help to indicate where i go wrong)

nCloth_TrappedCheck.ma

David Johnson

unread,
Feb 9, 2012, 3:57:42 AM2/9/12
to maya...@googlegroups.com
I'll answer as best I can, but I am by no means an expert, so if someone wants to correct me that will also be appreciated.


On 9/02/2012 5:39 PM, Seila wrote:

Trapped Check:
From previous post i know this option will push out vertices of other cloth node where triangles are in interpenetration, so i create a passive object and a nCloth object both come from trianglated polygon and make some part of them intersect to each other. I set the passive object's Trapped Check active and expect to see the vertices of nCloth object to be pop out. However nothing happens during simulation. Why Trapped Check not work for this case ?

Not sure. This usually works for me. Did you check that the normals of the passive surface face the right way?



Self Trapped Check:
This time i combine two triangulated polygon sphere with part of them intersection to each other to mimic a self-intersect situation, and make this object an nCloth object then active the Self Trapped Check. Nothing happens too ...

This does not actually push anything out. It disables collisions for the verts on self intersecting triangles so that they don't get stuck.



Crossover Push:
I got confused with the word "crossover" since i consider "vertices of one nCloth object penetrate surfaces of another nCloth object" as crossover, it seems no need to have this option since Trapped Check also do the same operation - push penetrating vertices out of surface. How to build a simple scene to test this parameter ?

This is a last resort method to untangle triangles that have crossed over by pushing verts along the tangent direction rather than the normal. It is slow compared to the other methods. (I've never used it though, so I'm only telling you what I heard).


Max Iterations:
As document provided the meaning of Iteration is "A single computation of a single nCloth property by the Maya Nucleus solver", and from the nucleus white paper
http://area.autodesk.com/blogs/cory/nucleus_white_paper

Is "a Iteration" means one red brick or a column of red bricks in above picture ? "Max Collision Iterations" in nucleus node and "Max Self Collide Iterations" in nCloth node set the number of red brick in Self-Collisions and Collisions ?

The picture you added here shows a non-interleaved evaluation, but nucleus actually uses interleaved (which is the other picture in the pdf). I think iterations are the columns, and then the red bricks are the calculations that happen at each iteration.




Evaluation Order and Sort Stretch Links:
Here i build two polygon strips and the edge index at bottom is lowest and i activate the Sort Stretch Links option in one them. I also set both nCloth object's Solver Display to Weight to show the vertex calculation order. I expect to see two opposite distribution of weight since one will follow the order of edge\vertex index and one will follow how far vertex from constrain or collision, however i got the same result in viewport ... am i misunderstand these parameter ?

I'm unclear on this one too.



I appreciate any suggestion about these issues, thanks in advance !!
(The attached file is my test scene that won't work, hope some one could help to indicate where i go wrong)


Thats all I got.

David

Duncan Brinsmead

unread,
Feb 9, 2012, 6:05:12 PM2/9/12
to maya...@googlegroups.com

Trapped check will push out verts that interpenetrate across a step.. thus it must first start without penetrating then quickly move into penetration. After all the collisions iterations are done it checks the vertices where an edge is in intersection with a triangle. If so it does a pushout on those verts.   (one minimally needs to collide edges and triangles, vert only collisions will ignore trapped check) If the entire edge is on the wrong side of the triangle its verts will not be pushed out.

 

If you want to push out components at the start frame, as well as faces that are entirely on the wrong side(not intersecting), you can use pushout (set the pushout distance as low as possible for efficiency) For example with pushout one can do things like have a sphere start inside a cube then push it out to be a skin stretched over the cube. (you might want to lower the stretch resistance if doing this)

 

As mentioned, self trapped check disables collision for self penetration but does not do a pushout, because with self collisions the surface normal is not a reliable direction for pushout.

 

SelfCrossover push… generally avoid using this. In some rare cases it can help resolve bad collisions, but is not of much general use. Unlike self trapped check it attempts to do a type of pushout, but sometimes it just makes things worse. Here is the maya doc on it:

“This is a force applied along the contour where this object crosses its self. Because it only works at the point of crossover it may take several steps for the surface to pop out into a good state. If self collisions are enabled then one may wish to combine this with the selfTrappedCheck toggle because that will disable collisions for crossed over faces. It can also be used to clean up interpenetration at the start frame, although the collisions should be disabled when doing so. Lower values will take longer to resolve the self collision, but can create smoother results.”

 

The max iterations on the cloth node is just a cap on the total iterations for the cloth that was originally designed to avoid a lockup if the user accidentally set the some of the quality settings too high. In particular when scaling relation is not set to “Link” then the iterations may become very high if you assign the cloth to a dense mesh. (non link settings attempt automatically increase things like bend/stretch iterations to keep the simulation behavior constant). At anyrate such lockups are not usually a problem as one can break the solve now. Just keep max iterations so high it never kicks in.

(note that max collision iterations on the nucleus node is something completely different)

 

Duncan

Seila

unread,
Feb 10, 2012, 12:48:27 AM2/10/12
to maya...@googlegroups.com
Thanks for yours reply first.

I try to rebuild my scenes to make the parameters discussed above taking effect more noticably but failed again ... could you help to check my scene ?

Trapped Check:
This time i don't make objects penetrate in initial but Trapped Check still not take effect. As you can see at frame 16 some of nCloth's vertice still penetrate the passive object even i set passive object's Trapped Check active. I know increasing Substeps and Max Collision Iterations can solve this problem however i still interest in what situation i can make Trapped Check behave more noticable.

Self Trapped Check:
I'm not sure whether Self Trapped Check can't solve penetrate in initial(like Trapped Check) or not so i put two example here. Example 1 show no initial penetration and Example 2 have, but none of them show the effect of Self Trapped Check. As you can see in both case vertex still snap to original surface when self collision happens.

Self Crossover Push:
With plane normal face to downward i still not see any push behavior for crossover ... and i have some questions the description
of this parameter in document:
 - what the "contour" exact means ? does it indicate the blue line in follow image ? If it's, why force exert along the contour path could make penetrating vertex go off the surface ?

 - Why dealing of point of crossover need several steps for the surface to pop out into a good state rather than do once in a step(frame)?
 - Why collision has to be disabled when i use Self Crossover Push combined with Self Trapped Check ? It seems curious since disable collision of course make vertices not trapped but i also loss all collision effect ...
 - Actually now i still got confused with Scaling Relation setting since the word "dynamic properties are applied to each link" or "dynamic properties have the same affect on its mesh regardless of resolution"  still not illustrate a clear map about what actually happened during simulation for me, it's hard for me to understand the effect that Scaling Relation not set to "Link" will cause the iterations may become very high.
- In the final statement that says "one can break the solve now" means use different solver node for part of simulation ?

Sorry for such a long list of problems and thanks for your patient !!
TrappedCheck.ma
SelfTrappedCheck.ma
SelfCrossoverPush.ma
Reply all
Reply to author
Forward
0 new messages