Global time IPO

Is there a way to apply a time IPO to ALL objects in a scene, without having to do each one individually?

I’m not sure what you mean by a time IPO.

If you’re just looking at scaling the IPOs in time, I think you can do this in the Anim/Playback buttons (F10 and the click on the squiggly line). It allows you to scale the time for the scene. To make your animations run at half speed, set Map Old: to 50 and leave Map New: at 100.

I haven’t played with this much though, so I’m unsure of all the potential repurcussions.

No, I am talking about a Time IPO.

For each object, you can set a time IPO that will modify the “time” scale that that object. Using it, you can stop “time” for that object, slow it down, or even reverse it.

I am looking to set a Time IPO for an entire scene.

So say I had a scene and I wanted to freeze it, then go backward, and then forwards slow. Do I have to set a time IPO for every moving object?

Sorry, I hadn’t played with those yet. Something new for me to abuse in blender, :).

I’m not aware of any easy way to do this directly in blender without setting the Object IPO Time curves for each object. I tried the most obvious things to me, like parenting an object to another object and setting a time curve on the parent’s Object IPO (hoping for inheritance) and trying to add keys for the Map New/Map Old buttons. Neither of those worked.

You could potentially render the scene twice, once at normal speed and once at the slow motion speed. Then either in blender’s sequencer or in an external video editor deal put the images together to make the video the way you want it.

Optionally, you could just render once at the slow motion speed and then select every few frames for the forward normal speed sequence.

Neither of the above options though will provide a nice slow up to the freeze and speed up from the freeze into the reverse motion if that’s desired.

I investigated writing a python script that would do the assignment of an Object IPO’s Time curve for you. It looks like its very possible to do, but would require more time to do than I have available right now as well as have a few caveats in its use.

You can use the IPO window to copy individual curves (for cases where you already have an existing Object IPO) or just assign an Object IPO that contains your Time curve (where your object doesn’t have an Object IPO) to manually do what I was looking at doing via a script. The good thing about this second option, i.e. assigning an IPO that only has the time curve in it, is that modifying this one IPO changes it for all objects.

Thanks for your reply.

Hmmm… It seems like you can only have one IPO block per object. So, if I try to assign an IPO block with only the Time Ipo, I will lose my other animations.

Is this correct?

So, it look like its a paste to buffer, copy from buffer procedure.

Correct. That’s why I changed the wording in my reply from Time IPO to Object IPO Time curve. The later term more closely reflects blender’s internal representation of this data.

If you have no Object IPO on an object already, i.e. no keyed loc, rot, scale, etc., you can reuse the same Object IPO that contains the desired Time curve on all objects like this (probably only useful for armatures). If you already have an Object IPO, copy/paste is the fastest way to copy the desired Time curve to the moving objects.

This can be done with a script, but its not just a simple copy. You need to manipulate the individual curves in the Object IPOs. I just haven’t played with the python IPO stuff much and don’t have a lot of time available right now, or I’d look at writing this script. Maybe later tonight or sometime in the next few days I can find time. It looks like a useful utility to have available.