Animate physics?

Pardon my noobish ignorance.

As I play around with blender, I keep finding new and fun goodies all the time. I recently started playing with cloth and collisions, and love how simple it is to animate really good looking results.

Can other objects besides cloth be baked like that and then rendered in an animation? For example, if I make a ball of cloth over a landscape, and then render, it automatically figures out the gravity, bouncing and whatnot. I don’t have to put in keyframes for that motion.

What if I wanted to drop a solid ball (non-cloth)? Is there a way to bake on some physics to that for the purpose of rendering an animation?

I’ve played with making actors, rigid bodies, etc for the game engine and that’s a lot of fun (really looking forward to 2.48 with the GLSL textures), but is there a way to do the same type of thing for normal animation rendering?

Or do you just have to estimate your own physics each and every time you want something to bounce or fall or roll?

anomalydetected,

At the top of the 3D window, click on Game…Record Game Physics to IPO. This will create IPO curves for all of the objects in the simulation.

More info here.

Best of Luck!

Thank you so much, that works great!!! I feel like I’ve been missing out on half of the point of Blender this whole time.

In playing with it, it does seem like the gravity is a bit “slow”.For example, falling objects seem like they are moving in somewhat of slow-motion in my final render (look normal in the game engine though). I did try cranking up the gravity setting in the global environment options and it helps, but it only goes to 25 and then of course affects other things like bouncing, etc.

For now, I just manually scaled the IPO curve to make the falling action occur quicker and that works fine. But is there somewhere else I can adjust this globally, or would I just need to tweak the IPO curves to my tastes every time?

anomalydetected,

I am not sure if there is any other adjustment. You might try tweaking the damping of the object to control any bouncing. However, it may be best to just scale the ipos. Also, consider the possibility of adding a time ipo. By doing so, you can change the speed of the action for a given number of frames.

Best of Luck!

A “time ipo”, you say? I am intrigued. How does one add that? So far I only know of the basic positioning ones (loc, rot, etc) and just recently learned about influence constraint ipo’s.

Thanks for all your great help!!!

I will try to upload a simple blend file this evening

anomalydetected,

Here is a very simple example of a time IPO. These have to be added manually, in the IPO editor.

http://www.cdupload.com/files/31316_4zxon/TIPO.blend]TIPO.blend

More info here.

Scroll to the bottom for info on the time ipo.

Best of Luck!

Thanks, I will check it out.

The game engine operates at a higher frame rate (60) than the animation (25 or 30 depending) does so when you use the option to record the game physics it results in a slower animation in playback.

To get around this you can use the same setup you are using, setting up the actors and what not and then press ctrl+alt+shift+P. The physics will bake and then just hit alt+A to play it.

Learned this from Tony Mullen’s Bounce Tumble and Splash. Well worth the investment.

Javadog_2008,

Thanks for the info - I am going to have to invest in that book.

Thanks again!!

Oh wow, good tip! This forum and the people in it rock.

Sorry to bump this thread, but I’m having difficulty with this part of Tony Mullen’s BTS.
I find hitting Ctrl+Alt+Shift+P gives slow simulations, even when you set the frame rate to 24/25. What I have to do is scale down the Action so it plays roughly what I think it should be. But there had to be a better way…

So I tried doing the tutorial where you decelerate the game FPS to 25 with this script:

import GameLogic

GameLogic.setPhysicsTicRate (25.0)
GameLogic.setLogicTicRate (25.0)

And then I plug it into the GE as it describes.

And yes, initially the game engine goes to 25, but soon as I set to Record Physics to IPO option, it goes right back to 60.
I’m unsure what’s going on atm.

Thanks

That’s odd. The Ctrl-Alt-Shift-P works perfect for me, and makes it obey the frame rate I have set for the animation (F10). Of course, pushing P at any time after that redoes the IPO curves to the default 60 fps of the game engine.
To be safe, I now uncheck Record Game Physics to IPO altogether to avoid accidentally overwriting my previous Ctrl-Alt-Shift-P IPO recordings.

Can you upload your blend and maybe someone here can take a look and figure it out?

Yeah sure - thanks for the response. Here’s the file:

http://watchmike.ca/wp-content/uploads/2bullets.blend

If you look closely at the IPO window, you’ll see that the “basic positioning” IPOs are only one of several groups of IPO curves! In Blender, pretty-much everything is controlled by IPOs, and there are literally dozens of 'em.

The “Time” IPO controls how fast something takes place. You can also use IPO’s to regulate the influence of things.

It might not even occur to you that an IPO would be available for something, when it is (even with a default constant value of 1.0 or 0.0). With Blender, it really pays to “snoop around.”

Mikahl,

Though your script doesn’t seem to when running the game engine (pressing P with Record Physics to IPO ticked), it DOES seem to affect the Ctrl-Alt-Shit-P method.

Changing your script values to 17, for example, then hitting Ctrl-Alt-Shift-P and then rendering a 30fps animation looked much more realistic than the default speed did.

Thanks for the script. I’m going to find this quite handy.

Though your script doesn’t seem to when running the game engine (pressing P with Record Physics to IPO ticked), it DOES seem to affect the Ctrl-Alt-Shit-P method.

That’s right. Thankfully Ben Lambert sent me a patch fixing this bug.

Thanks for the script. I’m going to find this quite handy.

No problem, you can find more in Bounce Tumble and Splash.