Solaris/usd and vdbs, slow to write out

   9672   9   3
User Avatar
Member
624 posts
Joined: 11月 2005
オフライン
Hello,
I want to write usds that have volumes and this takes quite some time, compared to abc references.
There is not any additional data in the resulting usda file, for example bounds. just the samples and the file path.
is there any way to speed this up. the rest is more or less immediately written to disk

thank You
Martin
User Avatar
Member
120 posts
Joined: 1月 2012
オフライン
Is this volume being imported to LOPs with SOP Import or Volume where you specify path to VDB?
Michal Tas Maciejewski @ www.vfxtricks.com
User Avatar
Member
624 posts
Joined: 11月 2005
オフライン
I use the volumeLOP to load it into solaris
User Avatar
Member
120 posts
Joined: 1月 2012
オフライン
When VolumeLOP loads VDB from disk, it needs to load it and parse it for existing volumes(density, vel, temp, etc). The bigger the file, the longer it will take, and that happens per frame.

I had the same issue. To solve it, I started saving VDBs to disk as a USD. This way all necessary info is written to USD while data is in memory. Then I can reference that USD file in LOPs at very high speed.
Michal Tas Maciejewski @ www.vfxtricks.com
User Avatar
Member
624 posts
Joined: 11月 2005
オフライン
Thank You Michal, that would be my next step, but the departments, that use our stuff need vdbs as well. we are kind of sitting between to chairs . maybe it makes sense to run both exports on the farm.



much appreciated
Martin
User Avatar
Member
120 posts
Joined: 1月 2012
オフライン
give it a try. You will notice that VDB will be written as usual, alongside with USD. So you get both !
Michal Tas Maciejewski @ www.vfxtricks.com
User Avatar
Member
624 posts
Joined: 11月 2005
オフライン
Cool, thanks again for this
User Avatar
Member
50 posts
Joined: 7月 2009
オフライン
tas3d
give it a try. You will notice that VDB will be written as usual, alongside with USD. So you get both !

Hi,
I'm currently working on the same topic.

Is there a way to specify an explicit path for the volumes,which are automatically created during the generation of the .usds.

Right now it looks like this.


Preferably they would all lay next to the .usd files with the same name. Or at least all in one folder with a specific name.

Thanks in advance,
Cheers Martin
Edited by louisx - 2021年11月4日 18:39:17

Attachments:
usd_volumes_directory.png (41.2 KB)

User Avatar
Member
120 posts
Joined: 1月 2012
オフライン
https://www.sidefx.com/docs/houdini18.5/solaris/sop_import.html#vols [www.sidefx.com]

I think this attib can help

"You can assign a SOP attribute named usdvolumesavepath to specify a custom path to save the volume file to when using the USD ROP. This attribute is translated into the HoudiniSavePath metadata on the USD field prim."
Michal Tas Maciejewski @ www.vfxtricks.com
User Avatar
Member
70 posts
Joined: 5月 2019
オフライン
tas3d, thank you.

Visual answer for future Googlers...

Reference can be done via:
  1. Geometry Sequence LOP: VDBs
  2. Volume LOP: VDBs
  3. Reference LOP: VDBs and USD asset (when directly reading VDBs, it will show a warning to use Geometry Sequence LOP instead)
  4. Sublayer LOP: USD asset

Volume LOP: ideally (i guess) for static volume.
Geometry Sequence LOP: ideally for animated volume.

Reading VDBs/USD asset comparison on a sky box:




Here's a visual addition to the answers above on how to create custom VDB save path when saving as USD




Use Scene Graph Tree to inspect if usdvolumesavepathattribute was created and passed from SOPs to USD primvar.

Edited by AnimGraphLabGames - 2024年9月18日 04:13:08

Attachments:
volumeLOPs.png (579.4 KB)
houdini_7PoIEuWPzj.gif (790.6 KB)
houdini_XzyS3MGMF5.gif (7.9 MB)

Generalist.
  • Quick Links