Search - User list
Full Version: Does Houdini support simulation backtracking?
Root » Technical Discussion » Does Houdini support simulation backtracking?
magneto
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.
danilo2
exactly as you've described - use cache node on yours simulation output
graham
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.
magneto
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.
magneto
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?
Erik_JE
It should be after the popnet
magneto
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?
Erik_JE
Clear the cache and jump to the start and it should be fine.
symek
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.
magneto
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.
old_school
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.
magneto
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.
magneto
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.
old_school
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.
magneto
Thanks Jeff appreciate your response. Lastly this caching behavior happens for free due to the nature of DOP networks?



Cheers.
old_school
Yep. Caching is controlled at the top level DOP Network node.
magneto
Thanks Jeff, that's pretty awesome.



Cheers.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB