Does Houdini support simulation backtracking?

   6398   16   3
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Hi,

I am not sure if this makes sense but when I have some particles in my Houdini scene and then scrub the current time to forward, the simulation goes forward, but when I scrub backwards, they stop, they don't go backwards. Of course it wouldn't be possible to reverse the simulation, but I was just curious if this is the desired workflow in Houdini?

Also since you guys are the masters in particles/sims, how does tools like Particle Flow (for Max) allow this? Is it solely based on caching the results into memory where they could be returned when you scrub the current time backwards?

Basically I am talking about the behaviour where the user scrubs the timeslider both ways to see the result:

http://www.youtube.com/watch?feature=player_detailpage&v=eqlV36tMkHI#t=296s [youtube.com]





Thanks.
User Avatar
Member
277 posts
Joined: July 2006
Offline
exactly as you've described - use cache node on yours simulation output
User Avatar
Member
1908 posts
Joined: Nov. 2006
Offline
POPs does support proper caching and scrubbing, however, because of how SOPs works, it doesn't allow the Pop Network SOP to cache properly.

You can either use the Cache SOP, or you can do your sim in the /part context and merge it into your SOP network. The advantage of this over the Cache SOP is that it allows for proper caching and scrubbing while in the simulation. The downsides are it's not in the SOP network and you need to use a Particle/Context Viewer.
Graham Thompson, Technical Artist @ Rockstar Games
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks guys I will use the cache SOP.

Also shouldn't it be Cache POP?

Thanks Graham, I didn't completely get your 2nd paragraph, I think I am missing some steps myself. But I am not sure how to do my sim in the part context. So far I just did it using tools like Particles from Source (I think).

Cheers.
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks guys, I tried adding a Cache after the particle emitter, but it didn't work. Also added it after the object that's used as a source, but same result. Can you please tell me where exactly to add it?
User Avatar
Member
299 posts
Joined: Jan. 2010
Offline
It should be after the popnet
Drive, monkey, drive!
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks normally I did this, but in the first case I had a Material SOP after the popnet, so adding cache after this didn't seem to work. So the cache has to come right after popnet?

I tried that, and it worked.

Only thing is I was at frame 73 and then added the cache SOP, and went to frame 1 and scrubbed forwards and backwards and it worked but I also saw the frame 73 result flashing.

Is that normal?
User Avatar
Member
299 posts
Joined: Jan. 2010
Offline
Clear the cache and jump to the start and it should be fine.
Drive, monkey, drive!
User Avatar
Member
1390 posts
Joined: July 2005
Offline
A good habit nowadays is to embed a popnet in DOPs (POP Solver). There a couple of reason to do that:
- you can enhance your particles simulation with micro-sovers, making them something between particles and SPH.
- you have proper caching behavior for free. Play it forward or backward, no problem.
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks Erik.

Symek you are the man. Awesome tricks, I am gonna use that trick but how do I embed a popnet in DOPs? I assume you mean AutoDopNetwork, right? I currently use the shelve tools for things like gravity, etc, since that's what the video tutorials show, and they create these stuff like that.


Cheers.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Trick? A method.

The shelf tool for creating particles indeed creates a new object to build the particles in and uses a local POP Network with the POP network nodes. I just place a DOP Network SOP beside the POP Network and quickly add a POP Object and a POP Solver and go from there. Or if you want your particles to work with an existing RBD sim or use passive RBD objects as sdf volume colliders, build it up in a DOP network at the object level.

There are three ways to define sources in to the POP Solver:
1. Directly in the Source POP (boring…)
2. Using the Context SOPs four inputs in the POP Solver Pop Network > Context SOPs tab (almost as boring…)
3. Using the Context Data four inputs in the POP Solver Pop Network > Context Data tap (exciting as it can use any data attached to the POP object or if you fetch from another object in the simulation…)


The Drive Particle shelf that I like to use with it's rapid-fire addition of POP nodes to the chain works just fine on any POP network.

Attachments:
pops_in_dops_rbd_colliders.hip (208.4 KB)

There's at least one school like the old school!
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks alot Jeff. Since I am a Houdini newbie, anything advanced is a trick for me

I can't wait to check your scene out when I get home.



Thanks again.
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Jeff, your example scene is awesome. Will take a while till I understand how it all works but I see some of the ideas like bringing in SOPs into DOP.

Just out of curiosity, is there an overhead in doing particle work this way? In terms of memory usage, simulation performance and functional limitations?

Thanks again man.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Only the memory allocated due to cacheing being done by the DOP environment.

The collisions against the RBD objects with their SDF's is significantly faster than the Collision POP.
There's at least one school like the old school!
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks Jeff appreciate your response. Lastly this caching behavior happens for free due to the nature of DOP networks?



Cheers.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Yep. Caching is controlled at the top level DOP Network node.
There's at least one school like the old school!
User Avatar
Member
131 posts
Joined: Oct. 2011
Offline
Thanks Jeff, that's pretty awesome.



Cheers.
  • Quick Links