Jump to content

How to break pieces in animated alembic mesh


Recommended Posts


This must be very easy and primitive yet I cannot find a solution! I have this shot: a plane wing hits a tower and breaks due to impact, the plane is given to me as an animated alembic file. What's the best/easiest way to sim this? The logical solution is to use Bullet Packed RBD, break the wing, use glue constrains to attache it to the plane, set the plane body as deformed object and wing as active object, BUT this does not work (to be more specific, the alembic file is seen as deformed points with a static origin  so all my constraints don't move with the plane)

If someone knows some easy way to handle this kind of shot please help :)


Link to comment
Share on other sites

Okay, I was able to follow the tutorial and produce a similar result, however the motion is wobbly and I need the pieces to stick 100% to the animated constraints (in my actual production, I want the wings to stick 100% to the plane body until the wings hit a tower, then constraints break and the wings fall apart gradually). 

Any ideas? maybe my whole approach is wrong?


Link to comment
Share on other sites

Hi, sorry for the late reply, I was busy. 

If you haven't fixed it yet here is how: glue_to_alembic_mod.hip 

The problem in the scene was that in the "kinematic" RBD packed object you had the "create deforming object". You see in the viewport that the kinematic  is moving but in reality it's deforming and not moving. As far as I know, you need the packed object to move for update the contraints and everything attached to them. So I've put "Create animated static object".

Now the geometry it's not moving because the animation happened before the voronoi fracture. So that's why I've freezed the geometry in the first frame and moved it again using the wrangle in SOP. I'm not 100% sure why is this an issue since @P it's moving anyway, but it fixed it.

Edited by Andrea
  • Like 1
Link to comment
Share on other sites

Hello! Sorry, I got super distracted by work and could not reply earlier! I will study your file during soon (hmm, in the weekend I guess :)) Just looked at it quickly and really, I am suppper impressed :)  thaaaaaaaaaaaaaaaaaaaaaaaaaaaanks !

Link to comment
Share on other sites

Okay, I got a chance to look at the file, and it does work, thanks :) As you also questioned, I am not sure why copying @P manually fixes the problem (as you mentioned, @P is already animated). Maybe the assignment itself triggers a flag that position needs to be read. However, I think that setup, i.e. using "Create animated static object", won't work if the there is more than translation only. Meaning, if there is rotation or real deformation (i.e. no actual transformation exist). I've read on other posts that hard constraints should be used instead but I still need to do more research and try it myself first!

Once more, thanks for your time and help

Link to comment
Share on other sites

Yes you are right. I've used only P because there weren't any other informations in the geometry. If there is rotation I think you can still use this method, just in the SOP wrangle you need also to read and copy other attributes like "packedfulltransform" to "transform".

As far as I remember if there is deformation I've always used hard constraints. One really cool trick is using uv coordinates for fix the constraint to the deforming object that has a different point count every frame.

Testing by ourselves is the best way to learn :) 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...