Jump to content

The physics of pops

Recommended Posts

Hi folks,

Just thinking out loud here...

Yesterday, as I was playing in pops, I realized that I really didn't know enough about how they work, and what everything means, so I looked some things up, and figured I'd share.

first off, gravity is -9.8 meters/seconds^squared. All objects close to the surface of the earth have a vertical acceleration of -9.8 m/s^2

Force = Mass * Accelleration

So I guess we can set gravity in pops by plopping down a force pop, setting mass to 1 (by hitting Override Mass, and setting it to 1, only in the force sop you're setting gravity), and force to -9.8 in y.

if we pipe in the actuall masses of the particles, it wouldn't be gravity I guess, cause that would affect the acceleration. a particle with a mass of 2 would (accell = -9.8/2) have an acceleration of -4.8. This makes sense if you're applying a force to an object that's at a standstill, cause heavier objects are going to be harder to get going.

here's an interesting thing I did last night to see how houdini calculates stuff. Online I found these formulas:


That's how gravity affects vertical velocity. Velocity = old velocity - gravity * time.

Ry = Roy + Voy * t -1/2 * 9.8m/s^2 * t^2

That's to calculate the height of the object (why R? beats me...). So The new Height = old height + old velocity * time - one half gravity * time squared

you can plug this all into houdinis graph editor to see how the curves change. In fact, I've attached a hipfile that has this.

The last test I got to last night was to compare that to what pops does.

Suppose that we have an object at a height of 100 feet, with a vertical velocity of 50.


Roy = 100

Voy = 50

ay = -9.8 that's gravity. Take a deep breath, we're working in a vacuum.

So if you check out the file, open all 3 channels of the grid in a graph editor.

tx is the change in velocity. ty is the change in height using that formula, and tz is the height calculated by pops. As you can see, ty and tz are pretty damn close. Another interesting note (and this makes sense of course) is that the height is max when the velocity is 0. so where tx =0, ty is at it's highest point.

Ok, that's all I have time for.



Share this post

Link to post
Share on other sites


Brilliant stuff!!! It sure helps to know such stuff & have a hip file to go with it.

Either brilliant or you have too much time on your hands. :P :P :P

Thanks Jens!



Share this post

Link to post
Share on other sites

totally bitchin'

this is huge, it will be SO incredibly useful in a test that i am doing.


-was there a specific site you found useful or did you find the information spread over many sites.

Share this post

Link to post
Share on other sites

:D Glad the info is comming in handy.

was there a specific site you found useful or did you find the information spread over many sites.

It was a combination of talking to a friend who somehow managed to remember his physics, and looking it up online. Typing in "-9.8 m/s" in google will give you bunches of interesting results. (put the quotes around it, cause otherwise you'll end up on the website for M&M's :wacko: )

If you discover more, please share :)



Share this post

Link to post
Share on other sites

the last couple of days i've been working quite a bit in POPs including rigid bodies stuff.

i was trying to use the forcePOP and using it like gravity on a couple of objects with different mass falling onto a surface. i found they would move at a different rate and therefor hit the surface at different times. the object with greater mass took longer to fall and hit the ground. but shouldn't it and the much lighter object hit the ground at the same time? well..yes. so i'm missing something. so for me to use gravity on two objects with a greatly different mass what is it that i need to do so they can react in a realistic way to the force?


Share this post

Link to post
Share on other sites

you need to override the mass. Gravity is a constant accelleration.

in short, hit the Override Mass check box in your force pop, and set it to 1.

the force pop calculates accelleration. accell = force/mass

Since we want pure acceleration, setting mass to 1 will give us accell = force/1, which basicly is accell = force.

Be sure to only do this in the force pop where you set gravity. You don't want to override mass globally. It's good for everything else.

One way to conceptualize the difference, is to imagine 2 soda cans on a table, one being full, the other empty. If you blow real hard, you'll notice that the empty can will go flying, but the full one will just budge a little, or move much slower. The heavier object requires more force to move it. However, if you drop them from the table, they're going to fall at the same rate. The heavier object is not going to take longer to get going. That's because gravity is a constant accelleration.

So for the first example, blowing real hard, you'd leave mass as is. The second one, droping the cans, you'd override mass.

Cool? It's early... I'm not sure how coherent I am.



P.S. Be sure not to open the full can before you drop it. I don't want to be responsible for a lot of messy floors. ;)

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now