point deform on tearing mesh not working

   3117   5   0
User Avatar
Member
81 posts
Joined: Dec. 2020
Offline
Hello fellow geeks,

I have a vellum tetrahedral mesh that I am tearing into two parts with some glue constraints and a tetpartitionSOP.
Everything works fine in the DOPnetwork, but if I feed my sim output into a pointdeformSOP to have a higher-res mesh animated, it starts to not work.

At that point, the two torn geometry parts are separating themselves but are still linked to each other (see screenshot). I played with the parameters of the pointdeformSOP, but that does not do anything.

I read on the point deform doc that "if an id attribute is on the rest and deformed points, the node uses it to establish correspondence between rest and deformed points, as well as store capture point numbers", so I tried to copy my piece attribute (@fracturedpart attribute generated by my tetpartitionSOP) to my higher res mesh with an attribute copy, but this attribute gets deformed. I have two clean parts in my low res mesh, but when I transfer this attribute, it gets completely scattered and I end up with many parts on the high res mesh.

Any clue as to what I am doing wrong?

Thanks in advance
Edited by anbt - Dec. 14, 2020 17:53:29

Attachments:
Screenshot 2020-12-13 130441.png (43.8 KB)

User Avatar
Member
7794 posts
Joined: Sept. 2011
Online
anbt
Any clue as to what I am doing wrong?

You're not doing anything wrong. This behavior is to be expected with proximity capture based tools such as point deform.

A possible work around is to separate the pieces for the capture step to prevent erroneous capture across boundaries.
User Avatar
Member
81 posts
Joined: Dec. 2020
Offline
Thanks for your answer jsmack.
If I understand well what you say, I should do the same TetPartition on my highres geometry as I am doing on my simmed geometry?
Edited by anbt - Dec. 14, 2020 17:59:04
User Avatar
Member
7794 posts
Joined: Sept. 2011
Online
anbt
If I understand well what you say, I should do the same TetPartition on my highres geometry as I am doing on my simmed geometry?

No, I'm not sure that will help. I'm not familiar with using tetpartition. The main thing that is needed is for the capture to avoid captured points crossing over seams. If possible, physically separate the geometry on opposite sides of the seams. The high and low parts need the same translations applied. For example if moving A_hi left 2 units and B_hi right 2 units, move A_lo left 2 and B_lo right 2 as well. Whatever it takes to prevent capture crossover.
User Avatar
Member
81 posts
Joined: Dec. 2020
Offline
I do have the same translation applied as they both come from the same moving geometry.
I tried to do the same fracturing on my highpoly geo, but as you thought, that didn't change anything.

I recreated a simplified version of my problem with a tetfractureSOP (my issue with the TetfractureSOP is that I don't know how to customize my fracture pieces like on the tetPartitionSOP, but my issue with the TetPartitionSOP is that I don't know how to output the 'origpts' and 'newpts').

If you or anyone else have 5 min to look at this, that would be so helpful.

Thanks again!

Attachments:
tearing_not_working.hip (662.8 KB)

User Avatar
Member
81 posts
Joined: Dec. 2020
Offline
I feel really lost on this issue, been trying for a week to make it work. Of course, I can make it work without using a point deform but I know this is not the right workflow for this as it is much slower. I tried to cut my high and low-poly geo in many different ways, with boolean fracture, RBD material fracture... but then I don't have my generated 'newpts' & 'origpts' that I can use to weld my pieces together in the vellum weld constraints sop.

If anyone can point me in a new direction that I can try, I would really learn a lot from it.

Thank you very much in advance
  • Quick Links