bullet time, "matrix effect"

   48353   41   6
User Avatar
Member
60 posts
Joined: June 2008
Offline
so, i've been trying to figure out how to enter and exit “bullet time” or how to achieve a matrix effect were you freeze the time for all simulations but not for the camera.

the best way i can figure out is to work in higher frame rate, and then later in post adjust the playback time.

is there an other or better way ta achieve the effect were time freezes but the camera still moves around?

thanks for a great community
cheers
User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
I used for this simulation:
http://vito.lucuslegion.com/post_fball.html [vito.lucuslegion.com]

the TimeShift node:
http://www.sidefx.com/docs/houdini9.5/nodes/sop/timeshift [sidefx.com]
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
Thank you, perfect! I'm looking in to in right now, do you know if you can ease in on the effect?

and wow, beautiful portfolio you got!
any change you want to let me know how you did this? http://vito.lucuslegion.com/post_fluidcrossfire.html [vito.lucuslegion.com]

just stunning!

thanks
User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
klasse
Thank you, perfect! I'm looking in to in right now, do you know if you can ease in on the effect?
I have not tried it … get the node, and play with it !

klasse
and wow, beautiful portfolio you got!
Thanks man.

klasse
any change you want to let me know how you did this? http://vito.lucuslegion.com/post_fluidcrossfire.html [vito.lucuslegion.com]

just stunning!
Different techniques used there, chops for music syncro, cops for “flare” effects … but I think that you want get into the fluid shaping, for this thing I implemented this Siggraph paper:
http://www.cs.huji.ac.il/labs/cglab/research/tdsmoke/tdsmoke.pdf [cs.huji.ac.il]

This is the Houdini magic, zero coding lines for that … only DOP nodes, only possible in Houdini world.
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
Hey, thanks!
well, you can ease it in to a stop, just have to figure out the right formula :-)

and that pdf is just crazy, thanks a lot, but i'm still pretty confused how i will implement this in dops.
but i understand that you don't want to let out the secret of how you manage to achieve the effect. it's a really good effect, keep the good work up, you inspire me!

thanks again!
User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
klasse
Hey, thanks!
and that pdf is just crazy, thanks a lot, but i'm still pretty confused how i will implement this in dops.
Almost all Siggraph papers seems crazy at first, but if you read it again and again, at last you get the idea.

klasse
but i understand that you don't want to let out the secret of how you manage to achieve the effect. it's a really good effect
The trick is the next, you get a fluid and you need a force to move it, ok?
We will use a FieldForce node to apply this force.
But hey! … How to calculate this force ?
We will use the gradient of the model, in this case the car.
Wait! … a gradient from polygons ? … we need to convert the car into a volume to get the density gradient.

This density gradient is the key force that we apply to the fluid using the FieldForce node.

Instead of I upload a scene is better that you think about it and to try make it for yourself. Really, it's the only way to learn, to squash your head against the monitor and not saving another scene in your ../nicescenesfromforumguystostudy/ directory.
And is a pretty houdini homework, isn't it?

You would be impressed how easy is to do this in houdini, try it! and ask all your questions.
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
you're totaly right!

so i'm trying to get this to work, but no luck.
i'm using i tea pot to the field force. i first converting the mesh in to a SDF field. and then in to dops and plug it in to a field force node.

Attachments:
teapot.jpg (127.1 KB)

User Avatar
Member
3 posts
Joined: March 2009
Offline
The trick is the next, you get a fluid and you need a force to move it, ok?
We will use a FieldForce node to apply this force.

Are you talking about particle fluids? or just fluids?
User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
Fluid = CFD Fluids (voxels)
Edited by - Nov. 28, 2009 18:50:48
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
i'm still having som problems with the setup, it just wont work!
please help.

this is my SOP that i'm importing to to dops and plugging in to the field force with the help of the sop geometry node.

what am i doing wrong here?

Attachments:
sop.jpg (59.0 KB)

User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
Upload the scene to check.
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
so here's my file.
thank you for helping me!

Attachments:
target_fluids.hipnc (504.0 KB)

User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
Hey, you are very close! …
Edited by - March 12, 2009 03:03:54
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
60 posts
Joined: June 2008
Offline
wow, that's nice.
i got it now

thank you so much!
User Avatar
Member
84 posts
Joined: Aug. 2008
Offline
plz scale the picture….

too large man
https://vimeo.com/jacyslin [vimeo.com]
User Avatar
Member
82 posts
Joined: Nov. 2005
Offline
dim1984kimo
plz scale the picture….

too large man

Fixed …
Edited by - Nov. 28, 2009 18:58:13
Victor M. Muriel
http // www . vmuriel . com [vmuriel.com]
User Avatar
Member
792 posts
Joined: April 2020
Offline
Would you mind posting what was wrong in the setup for all to enjoy? :-)

Koen
User Avatar
Member
792 posts
Joined: April 2020
Offline
Hello Victor,

Thanks for the tips for this setup so far. I have the forces working based on a sop scalar field based an inverse sdf as the input to feed the field force.

I am trying this in a smoke simulation. Currently I am having a hard time making the smoke really hit those shapes. Is this the gather term from that paper. (Basicaly my smoke overshoots the shape, there is never a clear read of the target object.)

Can you give a hint on where to look for this?

Any help is appreciated,

Koen
User Avatar
Member
792 posts
Joined: April 2020
Offline
Well made it another few steps, just adding some drag, and not using a sdf but a simple fog helped a lot.

Currently I am trying to figure out a way to implement the gather density step from the paper. Any clues ?

Cheers,
Koen
User Avatar
Staff
821 posts
Joined: July 2006
Offline
Hi Koen,

Jumping in here… I read this paper after it was mentioned here and did a quick implementation in DOPs. It generally maps really well. I don't currently have it in a form I can share, but I can tell you how I did it anyway. I'm away from my computer with Houdini on it for a few days, so this is from memory, so I might have left out a step, but this should get you close.

If by “fog” above you mean blur, I think that's the way to go when dealing with smoke or other grid-based fields (like fuel or something). I ended up with four fields for the driving force part: goal, goalblur, densityblur, and goalgrad. So each timestep, use Gas Calculate to copy density to densityblur, goal to goalblur, then blur them both with GasBlur. Turn “Use timestep” off since you're blurring a fresh copy of the field each time. Take the gradient of the goal blur with Gas Analysis, then write short GasFieldVOP which applies the formula in the paper, i.e. divide the gradient by the blurred goal and multiply by the blurred density. You'll need to check for zero values in the goalblur since you won't want to make the radius for GasBlur big enough to cover the whole field. That's the only part of the paper that's hard to duplicate out of the box: you can't do a Gaussian blur that has a really wide support but quick falloff. But you can still make it work. Anyway, by the end of this, you've got the force in goalgrad that you can pass to a Field Force DOP the next timestep or just apply a scaled version of the force directly to the velocity field yourself.

You will need a Drag force as you've realized. I've done it with an external Drag Force DOp and also as part of the asset that applies the above force as well.

For the gather term, you have all the terms you need. In the paper, the gather term becomes part of the material derivative of density, which just means that at each voxel point the density changes by the amount advected in and the gather term. So once it's calculated you'll want to scale it (a lot, like by 1e-5), multiply by the timestep and add it to the density directly. The effect is to “diffuse” the density back towards the goal shape, since some of the gather term will be negative.

To do the calc, create gather and gathergrad temporary fields (with GasMatchFields). Store density minus densityblur in gather, take its gradient into gathergrad. Multiply by density and goalblur as in the paper, then the divergence into gather. I had more luck updating the density field during substepping by using VOPs and the “timeinc” global parameter.

I ended up with an asset to attach to the “Velocity Adjustment” input to the Smoke Solver, since I was updating the velocity field directly with both the driving force and drag term, but you certainly don't have to do it that way. In that case the only other DOP to set up is a SOP Scalar Field with the goal shape(s).

I've got sporadic net access but can answer any questions when I get back on.

Good luck
  • Quick Links