Beginner: How do I get USD pyro to animate in viewport?

   488   6   1
User Avatar
Member
9 posts
Joined: 5月 2020
Offline
When I SOP Import a pyro simulation, I can scrub the timeline, and it works.

When I export the pyro simulation to USD, and then import it, and scrub the timeline, nothing happens.

Attachments:
usdpyro.hiplc (1.0 MB)

User Avatar
Member
401 posts
Joined: 11月 2016
Offline
I suggest writing your simulation to a vdb sequence and importing it in Solaris with a Volume LOP.
User Avatar
Member
9 posts
Joined: 5月 2020
Offline
This also happens when I’m using a file cache node in my LOPs network.

I’m almost certainly configuring something wrong in either the USD export or reference node.

I should be able to export volumes and import them to USD right?
User Avatar
Member
401 posts
Joined: 11月 2016
Offline
AFAIK you can't write vdb's directly to a usd file, but I believe you can use a usdvolumesavepath attribute prior to your usd rop to specify a path to save your vdb to, and load back from. Haven't tried it though, I find using a volume LOP to be easier and faster.
Edited by Tanto - 2024年4月30日 13:45:48
User Avatar
Member
9 posts
Joined: 5月 2020
Offline
I tried converting to VDB, and that works with the Volume LOP as you suggested. Thanks!

However, when I do the USDExport SOP, it seems to be naming the files by 2's instead of 1. When I try and load this into a volume LOP, it doesn't show anything. (I was able to get it work by using `$F*2)

I am still curious about what I'm doing wrong. Feels like USDExport should "just work" and I'm wondering if this is a bug.
Edited by tarr11 - 2024年4月30日 21:07:29

Attachments:
Screenshot 2024-04-30 172158.png (26.8 KB)

User Avatar
Member
9 posts
Joined: 5月 2020
Offline
Ok - so, maybe this is just a viewport bug?

When I render using the USD Render ROP, the reference to the USD Export works just fine, even though it isn't showing in the viewport. The only thing that doesn't work is viewing the volume in the viewport (either GL or Karma)

Oddly, it seems like it's coming in "reversed", and I can work around this by setting the Time Offset to $F*-1 on the Reference LOP.

This also doesn't seem to impact the USD Render ROP though.

So, I guess I have 2 workarounds for my problem:

* Just use the VDBs directly with the volume LOP
* Do this weird thing for the Time Offset

But, it would be nice if someone confirmed if this is a bug, or just me misunderstanding how this is supposed to behave.

Attachments:
Screenshot 2024-04-30 183510.png (59.3 KB)

User Avatar
スタッフ
4445 posts
Joined: 7月 2005
Offline
It's a bug. Native Houdini volumes expressed in USD don't generate proper hydra updates when their attributes are time varying. VDB volumes work fine.

Don't use the "$F * -1" offset trick. It's working by basically re-authoring the whole volume prim from scratch, causing a potentially much heavier update for the renderer than should really be required. And it's going to introduce a pointless time dependency in your LOP graph increasing cook times.

If you don't like the automatic naming of the volume files output by the USD ROP, set the usdvolumesavepath on your volume primitives in SOPs. The only rule the automatically generated file names follow is that they make functional USD files. There are no promises that the generated names will "make sense".
  • Quick Links