nDynamics and 600 objects

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 02 February 2013   #1
nDynamics and 600 objects

Hello,

I have 600 cubes that I want dynamic, and I want them to collide with eachother. First I thought of using all my 600 cubes a single object and the "use polygon shells" option, and while it's superfast, it doesn't seem to support collisions between the cubes.

Second thing I tried was to have them all seperate and apply an ncloth to each and every one of them. While I guess that would work, I don't know if it's workable, as I waited 5 min for the first frame to process before giving up.

So, any suggestions, ideas, workarounds and/or cheats? I'd rather stay away from the old dynamics system, and maya bullet I can't get it to work, just get different errors and stuff.

Maya 2012 SAP, linux

Edit: nevermind, didn't realize shells can behave independently without "polygon shells" on, because I had turned up the "rigid" slider. So, answered my own question, but suggestions to improving the workflow in these situations are still very welcome

Edit2: Hm, but there still doesn't seem to be any self collision.

Last edited by Ekenryd : 02 February 2013 at 01:50 PM.
 
Old 02 February 2013   #2
combining to one obj is the way to go...is your ncloth set to vertex or full surface? and is self collision turned on?

works fine here.
__________________

.

Reel - 3DInk.com
Filmography -IMDB
R&D - VIMEO

*please read- cyanbsl.blogspot.com/*
 
Old 02 February 2013   #3
Yeah, I am going to second HowardM's statements...it definitely works.
Do you have enough substeps?
 
Old 02 February 2013   #4
I noticed that full surface gave a much better result. All collision on. I think my biggest problem is that I can't the objects rigid enough. When I increase either rigidity or deform resistance they seem to loose their ability to collide. When I set those to zero and increase stretch/compress resistance to very high numbers they collide well, but sim time goes through the roof.

I also went through the quality tab and nucleus steps, and set some stuff to what I thought was high values, but maybe I need to increase them more.
 
Old 02 February 2013   #5
Hm, okay, made a new scene, this time treating every unit as a meter and it worked perfect. I thought the nucleus "scale" parameter set to 0.01 would make me able to treat every unit as a cm but I guess some things doesn't scale properly, or I don't understand the scale thingy correctly.
 
Old 02 February 2013   #6
It should scale properly and react as expected. Might need to increase substeps or/and collision distance.
__________________
www.jeremyraven.co.nz
Vimeo
 
Old 02 February 2013   #7
if you have 600 cube , probably detail of your collisions not much important,so i recommended to use nparticle instancer with compute rotation.
and if you don't like that , maybe this tutorial can be help you
http://area.autodesk.com/blogs/duncan/coins_with_ncloth
(sorry for my bad english...)
__________________
https://vimeo.com/khalil66

Last edited by khalilian66 : 02 February 2013 at 12:45 PM.
 
Old 02 February 2013   #8
@Aikiaman: yes, that was the recommendation I got from someone else, though when I increased the substeps to 20, all I got was an extremely slow sim. I've redone the whole scene now but in meter scale, and things work more as I expect, with acceptable sim times.

Originally Posted by khalilian66: if you have 600 cube , probably detail of your collisions not much important,so i recommended to use nparticle instancer with compute rotation.
and if you don't like that , maybe this tutorial can be help you
http://area.autodesk.com/blogs/duncan/coins_with_ncloth
(sorry for my bad english...)


Well, they need to stack on each other, I guess particles can't handle that. Thanks for the link. Though quite old there were some interesting things there, as always with duncan
 
Old 02 February 2013   #9
If they are just cubes, then you are probably better off just using high stretch/compression/bend resistance instead of rigidity with shells. Self collide should be full surface and the selfCollideWidthScale 1.0. Make substeps higher, depending on how many cubes need to be stacked.
 
Old 02 February 2013   #10
The cubes are just temp placeholders for more complex meshes. But if I was to sim cubes, why is stretch/compression/bend resistance better than rigidity? In my head, the more numbers, the longer the sim time, and if I want a hard body, why shouldn't rigidity work best?

Yes, I figured out that both full surface and higher substeps gave a lot better sim, but why should I use the collide width scale at 1.0? Is there some technical reason, or more of an asthetic reason, having self collision impacts as close to the mesh as possible? I will be wrapping a high poly mesh on the low poly sim meshes, so I'm not that concerned with perfect collisions.

Thanks for the input.
 
Old 02 February 2013   #11
HowardM has it right. One object is the best way to do this.
__________________
=============
Floyd Bishop

YouTube Channel
Char Maya Character Rig
 
Old 02 February 2013   #12
Originally Posted by Ekenryd: ... I figured out that both full surface and higher substeps gave a lot better sim, but why should I use the collide width scale at 1.0? Is there some technical reason, or more of an asthetic reason, having self collision impacts as close to the mesh as possible?


The way the rigidity currently works it can cause collision failure when stacking a lot of elements. The bend/stretch/compression resistance just works better currently and will result in more natural animation. The self collide width scale doesn't need to be 1.0, but it is automatically set to 3 for large meshes with vertex self collisions... so when making self collisions "full surface" it is usually a good idea to lower it. It will also make the solve faster.
 
Old 02 February 2013   #13
By the way, if you are binding a more complex mesh to the result then hair follicles may be useful. You need to first ensure that on the input cloth mesh all uvs are unique. Then you could select all your complex objects and the cloth cubes and type "parentToSurface". This will connect all your objects to the cubes with a follicle based on the nearest point on surface.
More on parentToSurface here:
http://area.autodesk.com/blogs/dunc..._surface_script
(now is built in to Maya, no need to download)
 
Old 02 February 2013   #14
Yes, I noticed that I just hade to turn up bend- and comp resistance to give me the look I wanted, rigid with a very subtle deformation.

Parent to surface looks interesting. Do you think that in my situation, 50k faces wrapped onto 10k of simulated faces, it will work faster and/or give better results than a wrap deformer? I'm using a wrap in my scene and while it's workable, the memory used is quite a lot, leaving not much room if I'd want a bigger sim.
 
Old 02 February 2013   #15
The parentToSurface should not add any memory use and should be quite fast. I think also that it should work OK with instances... if not you could still setup the follicles with instances by hand. (the objects get parented to the follicle transforms) As well the objects will look 100% rigid( even if the cubes deform a bit).

You should be able to make the cubes very rigid by increasing bend/stretch/compression and substeps.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 03:17 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.