Convert Alembic to polygons?

   1606   4   1
User Avatar
Member
229 posts
Joined: July 2013
Offline
I have tried using the Convert node to change an animated object from an Alembic file to a polygon mesh. I find it does not pass the animation in to a dynamic network simulation as an RBD Packed Object, only a single static mesh from the first frame of the animation. Presumably it can't be used to convert the full sequence and pass it along to the DOP Network, is that correct?
Edited by litote - May 8, 2023 05:18:35
User Avatar
Staff
329 posts
Joined: July 2005
Offline
Packed Alembic primitives reference a single frame of animation (see the "abcframe" intrinsic). For animated Alembic objects, the SOP that created the Packed Alembic primitives should be marked time dependent so Houdini will recook and update the "abcframe" intrinsic when you scrub the timebar. The RBD Packed Object DOP has an "Initial Object Type" parameter to specify how you want to handle any animation the referenced SOP geometry might have. See the description of the "Initial Object Type" parameter: https://www.sidefx.com/docs/houdini/nodes/dop/rbdpackedobject.html [www.sidefx.com]
User Avatar
Member
229 posts
Joined: July 2013
Offline
Hello Derrick,

How do I mark the SOP that created the Packed Alembic primitives time dependent? Do you mean the Alembic node I used to reference the file?
User Avatar
Staff
329 posts
Joined: July 2005
Offline
litote
How do I mark the SOP that created the Packed Alembic primitives time dependent? Do you mean the Alembic node I used to reference the file?

Yes, I mean the Alembic SOP that created the Packed Alembic primitives. The Alembic SOP will automatically become time dependent if the referenced Alembic geometry is animated and the Frame parameter is set to $FF. You don't need to take any action yourself to mark it time dependent. All later nodes should automatically inherit a time dependency. The network editor can show you which nodes are time dependent with via a badge next to the node (see: https://www.sidefx.com/docs/houdini/network/badges.html).
User Avatar
Staff
359 posts
Joined: Feb. 2008
Offline
Depending on how the packed alembic comes through, it may not be "animated" but "deforming".
An animated RBD packed object expects packed static geometry which is animated via packed transforms - animation that lives on the packed geo.

If the animation lives on the mesh points themselves, i.e you unpack or convert the packed alembic to poly before packing it again, this is now a deforming RBD - the internal geometry needs to be rebuilt at every time step. If you don't import it as such, it'll appear to be frozen at the first frame.
Depending on what you are trying to do, it's best to try and avoid deforming RBDs where possible as they can have a significant impact on performance, as well as not playing nice with constraints.

If the packed alembics are animated, you should be able to use them directly in sim without needing to first unpack or convert to poly.
If they are deforming, you could try using the RBD Deforming to Animated SOP if the geometry is split up into various named pieces. If that doesn't do the trick, you may need to first chop up the deforming geo into various small pieces that can be rigidly transformed while still giving a decent representation of the deformed mesh.
  • Quick Links