alembic export of bgeo cache of rbd sim, about 37k pieces.

   3345   5   1
User Avatar
Member
2 posts
Joined: March 2012
Offline
Hey guys,

I'm having a really hard time getting houdini to export a proper, working alembic file for further use in Maya and or Max.

Its a RBD sim, cached into bgeo.

I'm getting rid of all attributes i don't need, I'm making sure its a packed prim, with a proper @path primitve attribute for each pice.

One frame of bgeo cache is about 30MB, with just @path and @P as attributes (its 2.7mio polys)

I'm using the Alembic ROP in the /out context to adjust the export options.

The only way I'm actually getting an alembic out without a crash of houdini and the actual mesh in there is when having the Packing Option turned to Deform.
But then I get a single Animated(deformed) Shape node, that is nearly unusable performance whise in maya.

I thougth having turned the packing Option at “Transform” would do the trick, to actually have just transform nodes of the centroids with the srt animation and the pieces as geometry underneath, undeformed.
But houdini crashes on export with a fatal error.

Any way I'm trying to export this thing, is incredible slow. like 40 frames take 40minutes to export, and I should be doing around 500 frames.


Can somebody help me on that and guide me through a proper way of getting a Destruction sim out of Houdini into another 3d software package.

I can imagine having 37k transform nodes being a little bit slow, but taking that long, there must be something i do wrong.

its basically a 37k deformed point cloud with normals that has a 2.7mio total geo as pieced connected to it. can't be that insane.

People in vfx probably do this all day

any help appreciated
cheers Martin
User Avatar
Staff
327 posts
Joined: July 2005
Offline
Could you please post an example .hip file that causes Houdini to crash when using the Alembic ROP?
User Avatar
Member
129 posts
Joined: Oct. 2020
Offline
3 years later and I have this problem with no solution on the internet for heavy RBD sims, if I cache it unpacked its 70gigs for 400 frames, if I cache it as packed fragments then its only about 400mb which is very close to the single frame size.

alembics based on small packed fragments load very fast with alembic SOP but time to first pixel in any renderer -RM,Arnold,Mantra- is about 3 full minutes and its driving me insane.

Loading the same stuff into Maya takes a couple of minutes BUT the TTFP is pretty much instant on their Arnold.
Same in C4D but it's about 5 seconds for TTFP.

I am trying different options with "Alembic Archive" OBJ node but its "SLOWWW" to build the heirarchy or to do anything really.

How do people in production handle extremely heavy RBD sim rendering?
https://www.youtube.com/channel/UC4NQi8wpYUbR9wLolfHrZVA [www.youtube.com]
User Avatar
Member
236 posts
Joined: March 2013
Offline
Hey Mate,

This sort of thing has been a pain for a long time, but here are some thoughts and options.
You can use use the Alembic ROP, set to "transform Geometry" and have a path attribute on the fractured
pieces, which is used to "build hierarchy from attribute" on the hierarchy tab.
When you cache this out as a single alembic, it will only store the static fractured geometry, and transform
the pieces, which keeps the file size tiny.
You will get linear interpolated deformation blur with this method also.

The other method, is to use USD. It has built in support for transforming the geometry by an incoming point cache.
This has a lot of benefits, fast IO, the ability to change the fractured geo details without a re-cache, and a bunch
more. But, it requires the target renderer to either natively support USD (Arnold, Karma) or have some procedural translation
in the middle.

Attached is the Alembic method above, but also a video to show a 10,000 piece high poly RBD being scrubbed in real time
as USD, loaded into Maya in 1.3 seconds via the multiverse USD tool.

USD instancer RBD [vimeo.com]


Cheers

Lewis

Attachments:
rbd_to_abc_packed_motiopn_blur.hiplc (1.1 MB)

I'm not lying, I'm writing fiction with my mouth.
User Avatar
Member
129 posts
Joined: Oct. 2020
Offline
This is an update to my comment:
Time to first pixel is terrible with transformed packed fragments on HOUDINI ARNOLD and HOUDINI MANTRA, but they are actually fine in C4D ARNOLD, MAYA ARNOLD and C4D REDSHIFT.

so I guess I either use deforming super heavy cache with HOUDINI ARNOLD or I simply use the packed transformed fragments in C4D/ MAYA ARNOLDS.
https://www.youtube.com/channel/UC4NQi8wpYUbR9wLolfHrZVA [www.youtube.com]
User Avatar
Member
129 posts
Joined: Oct. 2020
Offline
Man I have been watching your video for MONTHS but I still cant get how you exported to USD. did you unpack your geo before exporting? is it packed? how do you apply material to outside/ insides primitive groups? why my 5k pieces building is so slow to work with in Solaris while urs is really fast?
Edited by AhmedHindy - Dec. 26, 2021 04:45:14
https://www.youtube.com/channel/UC4NQi8wpYUbR9wLolfHrZVA [www.youtube.com]
  • Quick Links