vellum cloth/hair collisions misery

   1553   5   1
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
having some issues getting a piece of cloth to collide with vellum hair without intersections. I've tried increasing sub-steps to as much as 60, I've increased constraint iterations, I've changed scene scale, and I've set bend stiffness to many different values; nothing that I've tried so far comes close to working. See the attached hip file If you have been in situations like this before and like to try and help me out, I'd really appreciate it! vellum solver just hasn't been very fun for me when it comes to collisions, any pointers and tips are very much welcomed.

Attachments:
vellum_cloth_hair_collision.hiplc (3.5 MB)

hou.f*ckatdskmaya().forever()
User Avatar
Member
1743 posts
Joined: 5月 2006
Offline
Broadly:

-if the wireframe view is just white with wires, its too dense, especially for vellum. I reduced everything to like 10% of the polys

-things have to be vaguely plausible in terms of limitations, space to move. the cloth collided with the ground plane at y=0, which meant the grass was going to be squashed infinitely thin. that won't work. i lifted the groundplane for the cloth to 0.005 to give the grass room to breathe.

-i restored both the vellum cloth and hair constraints to their default settings, usually its a good starting place

-big one here; when chaining vellum sims, clean the geo in between. otherwise sim data from the first gets carried over to the second, breaks things. here i just used a clean sop with clean attribs enabled, so it just goes back to having @P and nothing else.

-run the sim with default settings of 1 substep, 100 collision solver iterations. If you get stretching, thats a sign to increase substeps, but make sure to lower the collision iterations accordingly. so 2 substeps + 50 collisions, 4 substeps = 25 iterations etc

-cheat wherever you can. after i swept the grass into tubes, they intersected the cloth, so i lifted that a little bit.

Attachments:
vellum_cloth_hair_collision_me.hiplc (3.4 MB)

http://www.tokeru.com/cgwiki [www.tokeru.com]
https://www.patreon.com/mattestela [www.patreon.com]
User Avatar
Member
8581 posts
Joined: 7月 2007
Offline
- you are using output of your cloth sim as a collider, therefore it will not be affected by anything
collider is there purely for active vellum objects to collide with

- if you don't want hair to penetrate through make sure there is some gap between the cloth and ground so that the hair can bend and fit in there

- or if you want them to mutually interact you need to sim them together using a single solver

also additional things that may be causing further issues:
- your hair is extremely thin overall, doublecheck the thickness by displaying vellumhair1 with Visualize Thickness on or also vellumsolver2/Visualize/Thickness
ideally it would also not taper to infinitely thin tip

- vellumsolver2 has extremely high gravity for the scene scale, your grass geo seems in meters so I'd suggest keeping gravity at default
that will also allow you to use much lower bend stiffness and not be getting jagged shape on your grass

- maybe you can reduce the segments of your simulation version of the grass if you are aiming for higher stiffness, just to speed up the sim
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
mestela
Broadly:

-if the wireframe view is just white with wires, its too dense, especially for vellum. I reduced everything to like 10% of the polys

-things have to be vaguely plausible in terms of limitations, space to move. the cloth collided with the ground plane at y=0, which meant the grass was going to be squashed infinitely thin. that won't work. i lifted the groundplane for the cloth to 0.005 to give the grass room to breathe.

-i restored both the vellum cloth and hair constraints to their default settings, usually its a good starting place

-big one here; when chaining vellum sims, clean the geo in between. otherwise sim data from the first gets carried over to the second, breaks things. here i just used a clean sop with clean attribs enabled, so it just goes back to having @P and nothing else.

-run the sim with default settings of 1 substep, 100 collision solver iterations. If you get stretching, thats a sign to increase substeps, but make sure to lower the collision iterations accordingly. so 2 substeps + 50 collisions, 4 substeps = 25 iterations etc

-cheat wherever you can. after i swept the grass into tubes, they intersected the cloth, so i lifted that a little bit.


Thanks @mestela, will run through your file, thanks alott
hou.f*ckatdskmaya().forever()
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
tamte
- you are using output of your cloth sim as a collider, therefore it will not be affected by anything
collider is there purely for active vellum objects to collide with

- if you don't want hair to penetrate through make sure there is some gap between the cloth and ground so that the hair can bend and fit in there

- or if you want them to mutually interact you need to sim them together using a single solver

also additional things that may be causing further issues:
- your hair is extremely thin overall, doublecheck the thickness by displaying vellumhair1 with Visualize Thickness on or also vellumsolver2/Visualize/Thickness
ideally it would also not taper to infinitely thin tip

- vellumsolver2 has extremely high gravity for the scene scale, your grass geo seems in meters so I'd suggest keeping gravity at default
that will also allow you to use much lower bend stiffness and not be getting jagged shape on your grass

- maybe you can reduce the segments of your simulation version of the grass if you are aiming for higher stiffness, just to speed up the sim


Ah yes about the gravity, I forgot to set it back because I scaled the scene up at one point to see if it would sim better. will try everything else both you and Matt mentioned and see if I'm able to tame vellum!
hou.f*ckatdskmaya().forever()
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
Raised the thickness, gave the hair space to breath as you guys said, and also clean all the attributes from the cloth geo before passing it in as a collider as Matt suggested and boom, vellum is tamed. Thanks again guys.
hou.f*ckatdskmaya().forever()
  • Quick Links