magneto
Nov. 1, 2011 12:39:16
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
Nov. 1, 2011 13:06:15
exactly as you've described - use cache node on yours simulation output
graham
Nov. 1, 2011 13:10:10
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
Nov. 1, 2011 13:18:09
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
Nov. 2, 2011 09:17:14
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
Nov. 2, 2011 10:25:01
It should be after the popnet
magneto
Nov. 2, 2011 12:36:24
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
Nov. 2, 2011 12:51:51
Clear the cache and jump to the start and it should be fine.
symek
Nov. 2, 2011 13:16:14
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
Nov. 2, 2011 13:26:57
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
Nov. 2, 2011 15:51:58
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
Nov. 2, 2011 16:17:20
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
Nov. 2, 2011 20:46:51
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
Nov. 2, 2011 20:54:10
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
Nov. 2, 2011 20:58:25
Thanks Jeff appreciate your response. Lastly this caching behavior happens for free due to the nature of DOP networks?
Cheers.
old_school
Nov. 3, 2011 07:45:55
Yep. Caching is controlled at the top level DOP Network node.
magneto
Nov. 3, 2011 08:46:52
Thanks Jeff, that's pretty awesome.
Cheers.