Jump to content

Separate rigid from soft body point deforming pieces (in alembic cache)

Recommended Posts

Hey folks, would there be a way to identify and extract, procedurally, animated rigid pieces from soft point deforming pieces?
Say, you have a character alembic cache and several meshes on that character are rigid (i.e. their points don't change positions relative to each other). For example: the weapon of a warrior, or the plate armour, the shield... etc.
I want to find those meshes procedurally and extract their transformations (and of course replace their point deformations with object-level transformations, duh...)
Would you have a clue how to approach that? There wouldn't be a node for it already, would it?

I'm thinking what heuristic to employ to differentiate between pieces which points do change positions relative to each other vs such that don't.
Maybe just maybe...

  1. extract transformation matrices for every piece for some arbitrary prim,  be it rigid or not
  2. multiply by the inverse to set each piece to the origin and...
  3. compute velocity in the result?
  4. all inversely tranformed points of rigid pieces have 0 velocity, some points (other than the points on the arbitrary prim from #1) of soft deforming pieces have v>0. tag them.
Edited by haki

Share this post

Link to post
Share on other sites

Thanks, skybar. It works great on rigid parts when you pick them by hand. I'm looking for a way to automate the detection of digid parts in a character (or characters which have both soft deforming and rigid meshes) and separate those.

I've just discovered that the string abcanim primintrinsic may be what I need. It seems that abcanim on my character is set to "attribute" for the props (which are all rigid) and "transform" for all parts which are soft point-deforming, although the latter is questionable really.

Anyway, I tested the 4 steps I had described. It seems it could work especially when one may not necessarily care for tiny point-deformations and would rather treat them as digid. I'll see if I can post a scene or a more accurate description these days.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now