PDA

View Full Version : Ncloth Maya 2008 bug?


Robbert
07-04-2008, 10:16 AM
Hey guys,
I have got a really strange problem with nCloth in Maya 2008 ext2 that's different in Maya 8.5.
I made a simple scene with a nCloth plane with 150 segments and a collision cube under it.
When i simulate the ncloth plane in Maya 2008 it drops (by gravity) and it blows/moves away to the right and the strange thing is that there is no wind in the scene. If I simulate this in Maya 8.5 then the nCloth plane drops without blowing away (like it should be).
This only happens if you use nCloth objects with lots of segments (the more segments you use the more it blows away)
Is this a bug in maya 2008 ext2?
Here is a picture where you can see the difference between Maya 2008 ext2 and 8.5:

http://farm4.static.flickr.com/3067/2635540345_c0d2974216.jpg?v=0

This problem is very anoying for the project i am working on because we need to shift our pipeline back to 8.5.
I attached the 2008 scene.
And here is the playblast showing you the problem.
http://www.youtube.com/watch?v=RiroCvygKzM

Best regards,
Robbert

john_homer
07-06-2008, 11:09 PM
hi
I dont have time to have a proper look at your scene..

but here are some things to try..

- get rid of those transforns before converting to cloth
- turn up friction on the nucleus ground place
- dont use the nuclues ground plane
- start with one of the presets (which use "object space" scaling relation, I use nothing else)
- turn down your air density to 0.1 (total guess)
- your substeps are very low
- how big is your cloth supposed to be? I think your space scale is probably wrong, check the docs. if it should be 30cm, then you should have 0.01 ( you have 1)

.j

Aikiman
07-06-2008, 11:35 PM
Just to add, your mesh is also very hi res for testing, you should leave tessellating your mesh the last thing you do.

john_homer
07-07-2008, 12:13 AM
Just to add, your mesh is also very hi res for testing, you should leave tessellating your mesh the last thing you do.

be aware, you can only do this with "scaling relation" set to "object space" or your settings will not transfer while maintaining behaviour...

and also, that in the original post Robbert mentioned...

the more segments you use the more it blows away)


so he probably turned it up to show this...

.j

Aikiman
07-07-2008, 12:31 AM
be aware, you can only do this with "scaling relation" set to "object space" or your settings will not transfer while maintaining behaviour...


quite true


so he probably turned it up to show this...


most likely, justs makes it harder for me to test thats all.
[Edit] My apology, I couldnt find the tessellations on the polyobject until now.

TinuZ
07-08-2008, 02:37 PM
Hi Guys,

(I'm working together with Robbert on this project)

thanx for your responses, those are quite useful tips but no offense I think they won't matter in this case. The thing is that maya 2008 solves the EXACT same scene differently as maya 8.5. So my guess is that the algorithm of the solver has been rewritten (because of new wind options) and there is a deviation or calculation error or something which causes this "drift" on the X-axis. Anyway i think it's a very strange "phenomenon" :(

We will try your tips though, see if it helps.

I would appreciate if you guys could try the simulation on your systems, of course if you can find some spare time...
(this error only occurs with alot of divisions on the mesh, and less is no option)

thnx again..

TinuZ
07-08-2008, 02:57 PM
John, some questions/remarks for you :D:
hi

- get rid of those transforns before converting to cloth
what do you mean by this? I mean each shape node needs a transform node doesn't it?
- turn up friction on the nucleus ground place
- dont use the nuclues ground plane
this error also occurs without the nucleus ground plane
- start with one of the presets (which use "object space" scaling relation, I use nothing else)
I have to try this
- turn down your air density to 0.1 (total guess)
I have to try this
- your substeps are very low
I have to try this
- how big is your cloth supposed to be? I think your space scale is probably wrong, check the docs. if it should be 30cm, then you should have 0.01 ( you have 1)
If I use values below 0.1 for space scale I get unstable solves, I normally scale up the scene itself.

.j

Aikiman
07-08-2008, 09:31 PM
Guys, it doesnt appear to me that the solver is adding a 'wind' factor to your sim, if you still think it is, try using "ignore Solver Wind" on your nCloth Shape and you'll probably get the same result. Just by adjusting the friction values on both the ground plane and nCloth has stopped the pulling to the right so imo what you are getting is just the cloth reacting to what are in its attributes. If you take Johns advice you'll find your nCloth behaving more predictably. If your sim becomes unstable with low a space scale try increasing your substeps by doubling the default value, and keep going until it settles.

john_homer
07-09-2008, 03:07 AM
- get rid of those transforns before converting to cloth
what do you mean by this? I mean each shape node needs a transform node doesn't it?
Its a good idea to freeze transforms and delete history (ie, clean up) meshes before converting to cloth...

- turn up friction on the nucleus ground place
- dont use the nuclues ground plane
this error also occurs without the nucleus ground plane
that would be more interesting/informative to see ;)

- start with one of the presets (which use "object space" scaling relation, I use nothing else)
I have to try this
its the key to using nCloth ;)

also...
Just remembered..I have seen similar when mass is set very low and lift has a value > 0...
just a thought, you may be getting this due to your solver scale being off.. slim chance, but another thing to look at.
ps, I generally reply to these while I'm waiting for my computer to process something, So I'm not looking at your scene and I actually have no idea what your left is set to... just thinking out loud...
.j

TinuZ
07-09-2008, 03:40 PM
Ok guys,

I've done some testing today using your tips and tricks and although I managed to reduce the X-axis drift, I couldn't get rid of it completely..
Indeed increasing the friction on both ground and sphere (i made a new scene with no nucleus plane :P) reduced the drift quite alot, all the other tips didn't help that much in this case.
I realized that the drift only occured when the cloth was colliding with an object, so as a result I disabled Self collide. This completely eliminated the drift so I started tweaking the self collision thickness.

In the urls below I made two playblasts, the yellow spheres you see on the cloth plane is the solver display set to self collision thickness.
when the spheres intersect, the drift occurs

http://www.youtube.com/watch?v=7HXQMJcjiug
when they don't, the drift is eliminated :D

http://www.youtube.com/watch?v=brNevzTwX_4

In maya 8.5 the drift does not occur when the spheres intersect.
So am I really wrong to think that this is a calculation error??
When you think about it, self collision that has overlapping areas, compare this to overlapping rigid bodies for example == nightmare, then you would expect unstable solves. BUT why does it solve correctly in 8.5 then?? You catch my drift ? (:D)

list of what i tried and did not help:
-ignore solver wind
-increasing substeps, decreasing spacescale
-freeze transformations, delete history
-no nucleus ground plane
-using preset
-again, increasing friction only reduced drift

k thnx for your time, cheers
Martijn

TinuZ
07-09-2008, 04:19 PM
ok, I did some more research on self collision:

-self collision flag to other than vertex, drift gone but much slower simulation time
-increase max self collide iterations, drift gets less but still there, and ofc much slower simulation time

john_homer
07-09-2008, 09:56 PM
nice detective work TinuZ ;)

In general, I have found that having a self collision thickness more than your average edge length is a problem, I guess because (as you saw) components start colliding with adjacent components which slows down simulation time considerably...

my guess would be that AutoDesk optimized this in 2008 for speed in some way, and getting the drift as a result.. unfortunate, but avoidable by using full surface collisions..

.j

BenBarker
07-10-2008, 01:04 AM
Just out of curiosity, if the points are in a different order does the drift occur in a different direction? In many point order dependant operations you can see a bias towards points with a low or high number. Perhaps this is why it drifts in one consistent direction, that is where the lower or higher point numbers consistently are.

TinuZ
07-10-2008, 08:56 AM
Thanx for the mental support guys! We were going crazy here.. hehe...

Ben, interresting thought, I've tested this right away by creating a new plane and rotating this 90 degrees over Y and checking the vertex numbers in the channel box.. to no avail, drift still in X-axis...

well at least we've narrowed it down, and we know how to avoid it, but since we're already in production we won't switch back to 2008 and keep working in 8.5...too bad..

I hope autodesk will notice this problem and maybe even do something about it...

thank you all for your thoughts..

cheers..

Martijn

Castius
07-11-2008, 10:38 AM
This might be happened because of there introduction of the stretch dampening. Reducing stretch or upping rest length alittle. will also removed your drift. So it's stretch and self col fighting for dominance.

yenvalmar
07-23-2008, 06:19 AM
with a tablecloth in 2008 just now... but i just put a transform constraint on the bugger, that sorted it :)

but im glad i wasnt just going nuts.

CGTalk Moderation
07-23-2008, 06:19 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.