Time based key positions (not frame based)

Hi,

I’m just using blender “for fun” (version 2.42). Independent from the program, whenever I design an animation, I’d like to set key positions at a time position, not at a frame index. Frames are the result of the rendering done later. When designing the animation, I don’t care about frames because there might be 15 or 25 or whatever fps. So, isn’t it possible to insert a key position at a certain time position like at 0.75 seconds?

To work-around the problem, I wanted to fix the fps ratio at 100, i.e. for me frame 200 is always 1 second ahead to frame 100. The rest is done by the fps settings and the “map old…” “map new…” (F10) settings to get the animation in the correct speed and fps ratio in the resulting movie. Problem: If I wanted to render from 0 to 5 seconds, I can not specify frame 0 as the start render frame.

In other words: For me, “frames per seconds” is a quality setting and it should not define the speed of the animation. But in blender it’s different. Did I overlook something?

TIA

Have you ever done any traditional animation? FPS may be a quality setting in video games, but in film and video, it’s a fixed rate and you work to that rate. Why work and render at 100 fps when your target destination is film, which is 24 fps? Hell, a lot of traditional animation actually happens at half that frame speed.

At the very least, that should explain why things are set the way they are.

Now, for your problem, there’s not really a good solution. Blender, and most animation in my experience, doesn’t have a “zeroth frame”. You start at the first frame and go from there. Don’t worry, the math still works out right. Frames are finite quantizations of time, so you can (if you’d like) think about it this way: 0 is when the frame first appears and 1 is when it leaves. You count based on the leaving.

No, but I’d like to create a current animation.

FPS may be a quality setting in video games, but in film and video, it’s a fixed rate and you work to that rate. Why work and render at 100 fps when your target destination is film, which is 24 fps? Hell, a lot of traditional animation actually happens at half that frame speed.

Well, you assume “it is…”. But is this true always and forever? In practice, fps is not a fixed rate. Time is always at fixed rate. One second will always be one second, no matter how many pictures you see within the second. So why not plan on a reliable, fixed, AKA time scale?

A frame is a snapshot of the scene at a specified point in time. Creating an animation means defining a scene in many points in time. It does not mean making the snapshots. How many snapshots within a period of time are taken doesn’t change the speed of what happens in the scene. A scene even lives without watching it and no matter how often you look at it. Frames are just snapshots. One day you’re looking out of the window two times. The next day only one time - does this make the world turn slower? I don’t think so.

At the very least, that should explain why things are set the way they are.

Now, for your problem, there’s not really a good solution. Blender, and most animation in my experience, doesn’t have a “zeroth frame”. You start at the first frame and go from there. Don’t worry, the math still works out right. Frames are finite quantizations of time, so you can (if you’d like) think about it this way: 0 is when the frame first appears and 1 is when it leaves. You count based on the leaving.
I know that there is not zeroth frame, but… as the approach is different please see above.

In addition:
If you insert a key, it is inserted at a frame position. If you have, for example, a moving cube, the position is associated with the key. It is the position, not many positions. Unfortunatelly, a key is bound to a frame, not to a point in time. Therefore the position is bound to a frame. This does not make sense because a frame has a duration, and from the start to the end of the frame, the position changes. Consequently, you are binding one position to a periode of time. Considering the logical approach, this is simply wrong. The period of time “contains” many positions.

If a key, i.e. a position was bound to a point in time not to a period of time, this contradiction would be removed. You would still be able to insert your keys every 1/24 second.

AFIK all animation tutorials, books, authorities, studios etc. work with frames ONLY. For film 24 frames is a second. After a while you should easily relate that back to time. I know it looks like a upside down world. But image this discussion at Disney studios : “Should Mickey initiate an aiming action for the jump at 30:06:344?” Or is this better? “Clean up Donald’s silhuette at frame #2367
A frame is a drawing, not a moment in time.

In contrast to time, animation is discreet. The smooth illusion of movement and time is just that: an illusion.
Animation is far more controlable when working in frames.
That doesn’t mean that animators abolished time. A stopwatch as the most important tool of the animator to time their animation.

Actually, ironicaly you was giving the arguments for using frames. If you use a timebased animation instead of a frame based animation, the problem is that time is continuos. So, how do you add an extra action at the 13th minute ,45th second , the 76th millisecond , the 5th microsecond etc?

WIth frames it is all easy, consistant and scalable.

No, but I’d like to create a current animation.[/quote]
Haha… You’ve gotta know where you came from before you know where you’re going. :wink: I understand what you’re getting at, but there’s a reason why virtually all animation is done this way.

toontje speaks the truth.

I’d like the cube to be at LocX = 5 at +0.43 seconds. Which frame is it? At #10: No, this would make the cube too fast. At #11: No, this would make the cube too slow. Based on a time scale this wasn’t a problem. You are trying to change the physics of objects. This is not valid.

The software is only a tool to realize a plan. It is there to “enter” all the information needed to render the movie, and finally to render it. It is not there to change the input.

A frame is a drawing, not a moment in time.

A frame is a drawing taken at a moment in time shown for a period of time.

In contrast to time, animation is discreet. The smooth illusion of movement and time is just that: an illusion.
Animation is far more controlable when working in frames.
That doesn’t mean that animators abolished time. A stopwatch as the most important tool of the animator to time their animation.

Actually, ironicaly you was giving the arguments for using frames. If you use a timebased animation instead of a frame based animation, the problem is that time is continuos. So, how do you add an extra action at the 13th minute ,45th second , the 76th millisecond , the 5th microsecond etc?

WIth frames it is all easy, consistant and scalable.
As long as you assume a fixed frame rate, you won’t have a problem. Have much fun shifting all the frames if you’d like to record at a different frame rate or, otherwise, enjoy your movie playing too fast/slow. Based on a time scale this is all easy. You will never become a director at a theatre because you depend on frames. No problem with a time schedule.

Note: A camera is only a tool to record. The action is planned on a time schedule - or does the producer tell the actor “you must be there exactly 3 frames before”?

Actually, I know of one 3D package that lets you (in fact, encourages you to) set your object transformations and animations based on a time marker rather than a frame number. Specifically, it uses a number which is a fraction of the total animation’s progress. This let’s you do lots of test renders at, say, 5-10 frames per second and not have to do a final render at 24 or 30 (or whatever) until you’re close to the end of the development cycle. Using this method, the animated character is in exactly the same position at a certain time marker in the animation, regardless of your frame rate.

It does allow processing by frame number, too, but it can be very handy to develop a complex animation using low quality test renders at a lower number of total frames. It’s nowhere near as easy to use as Blender’s animation system (it does not, for example, enable compiling or playing back the animation; it requires external software for that) but it does have that feature.

Yes, because “it has always been done this way.” Obviously it is still done this way due to software limitations. :wink:

I guess you must argue this way because otherwise you would get in trouble when thinking about different frame rates.

toontje speaks the truth.
I don’t agree.

As you don’t respond to my arguments I assume that you’re not really interested in progress (or a theoretical discussion about it). In the end, it’s a fact that I can not do what I want to do, but as it’s only a hobby it is not too bad. :slight_smile:

And there will undoubtably be a fixed frame rate in film, video and animation for a long time to come… this is for reasons of technology and aesthetics. There is no known means of transmitting/projecting/displaying moving images that isn’t in discrete steps. If that’s the case, why make you and your computer do extra, unnecessary work.

Also, did you know that standard video (NTSC) runs at a faster frame rate than film? Which do people appreciate more? That’s right, film framerate. If people prefer moving images at 24 frames per second, why waste resources doing more than that?

Further, there are processes in place for converting from one framerate to another. It’s not a big deal and it’s a lot faster than re-rendering an entire animated sequence. Look up the word “telecine” and you’ll get an idea of what I’m talking about.

The film and television industries have done quite well for themselves “relying on frames.” Again, there are reasons for this and they actually have very little to do with software and technology. You’d do well to understand that.

Open a “Timeline” type window, press “T”, and choose Seconds.

Scrub through / move through the animation using the Timeline window.

Mike

The whole computer game industry has a different opinion, for sure. FPS>24 do make sense. Never seen the difference?

Also, did you know that standard video (NTSC) runs at a faster frame rate than film? Which do people appreciate more? That’s right, film framerate. If people prefer moving images at 24 frames per second, why waste resources doing more than that?

Further, there are processes in place for converting from one framerate to another. It’s not a big deal and it’s a lot faster than re-rendering an entire animated sequence. Look up the word “telecine” and you’ll get an idea of what I’m talking about.

The film and television industries have done quite well for themselves “relying on frames.” Again, there are reasons for this and they actually have very little to do with software and technology. You’d do well to understand that.
Who says I want to publish a movie? Maybe I just want to create a faster-rendered 15fps preview for my own? Yes, in blender, I can change the input ratio but though I can still not exactly plan object positions on a time basis. I would have to recalculate the position at the next frame. This can get complicated. Anyway, what I want to say is define a situation at time position XY, and this does not work, so I think, everything is said.

Thanks anyway for your contributions even though I was not able to convince you that there might be other requirements than yours.

I know the window :slight_smile: but, sorry, you didn’t get the point. Long story…: I do not know the FPS value later being used to render the movie. Consequently I do not know at which “frame index” I have to insert the key. Even if the timeline takes the FPS into account, it is of no use because I would have to rearrange all key frames after changing the FPS setting.

My comment there wasn’t an argument against higher framerates. The point, which you have actually substantiated is that you still have to work in discrete time increments.

At any rate, I apologize. My mistake was in assuming that you were interested in animation that’s meant to reach an audience and thinking you desired an explanation of the reasons for the current state of things in the majority of tools meant to create such animations. What you were really doing was making a feature request for working in an entirely different paradigm.

My mistake.

No problem. :slight_smile: My words (and I) became a little bit “unrelaxed”, so I have to apologize.

I come from a DX background where a constant frame rate is not “reality”. :smiley: Though, I do understand the history of a fixed frame rate in the movie industry and that there’s no need to change it.

I’d like the cube to be at LocX = 5 at +0.43 seconds. Which frame is it? At #10: No, this would make the cube too fast. At #11: No, this would make the cube too slow. Based on a time scale this wasn’t a problem. You are trying to change the physics of objects. This is not valid.

And what if you like the cube to be at 0.441 seconds? There is no frame asociated with that. It is just a smooth interpolation the computer does for you. At 24 fps, the duration of one frame is 1/24 seconds. Why, in your case , would you want to be able to place different keys in that 1/24 seconds, if it to be perceived as a simulatneos action anyway? And what if you fall in between frames?

Why would you like variable framerates??? Psychologicaly, the eye percieves movement at 24 fps. In that framework, the human mind recognises an action if it is within 5 frames (not my finding, just the teachings of a well known animator). So why waist effort at higher framerates?

You could put a cube at frame 1 at posistion 1 and in frame 647 at position 2. The computer interpolates it for you. That is the work that tweeners used to do. If it goes to slow, just use the time ipo or remap it, move the jeys/ actions closer together or whatever.

Maybe for live action movies, they use time as an indicator. But in animation it is all about frames. It is not a limitaton of the software, it’s a limitation of the fact that media (tv, dvd, video games, film) is a succesion of still frames. There is no continous time. Only the fact that the human mind is fooled that time is continious at 24 fps.

Why do we need higher refresh rates for television (like the brilliant 100Hz tv’s, or high refresh rates for monitors)? That is because in between frames, the phosphor colour elements fade a little. That is the faint flickering that makes you or your eye tired after watching tv for a couple of hours. At higher refresh rates (No, framerates stays the same), the phosphorous elements fades a lot less, making it more pleasurable to watch tv.

Now for the games frame rates:

Normaly for games to appear fluent, you need a complete new image between vertical blanks (that when the electron beams goes back up to write the next image). 60 or 80 fps for games is just a quality indicator. That means that for a monitor refresh rate that is lower than the maximum fps, a new image is garanteed in between vertical blanks (=vbl).
If the fps is lower that the refresh rate or out of sync (in case that no interrupt is used to time the image construction), the action still could be smooth (provided the fps>24) but tearing could be visible. Certainly for game console, high fps values is pure nonsense. You want to match the TV refresh rate (25 fps or 29.7 fps) to keep things running smoothly (note: not completly true… but for 99% true).

But the main message/ conclusion is: Our current state of visual technology is all based on descreet images. The perception of continous time is just human perception. And if you want to work based on that illusion, you in danger of basing your timing on non existing frames or messing up current frames. It’s not the ‘old and outdated’ way of doing things… it’s the CORRECT way of doing things.

You mean “where”? I don’t care because I know where it has to be at 0.45, and the software does the interpolation for me. Even if the frame is taken at 0.441, the object appears at the correct position (thanks to interpolation).

There is no frame asociated with that.
No, but this is not a problem.

It is just a smooth interpolation the computer does for you.
Right, that’s why I don’t have to interpolate on my own.

At 24 fps, the duration of one frame is 1/24 seconds. Why, in your case , would you want to be able to place different keys in that 1/24 seconds, if it to be perceived as a simulatneos action anyway? And what if you fall in between frames?
“What if”? Nothing if. I don’t want to place something “in” anything. I simply put it, where I need it. If I want the cube being at X at time position Y, I put it there.

Why would you like variable framerates???
You mean varying within the same movie? No, that’s not necessary.

If you mean frame rates unequal 24: I can not make a statement about liking or diskling variable frame rates because they are completely out of interest in this phase.

Psychologicaly, the eye percieves movement at 24 fps. In that framework, the human mind recognises an action if it is within 5 frames (not my finding, just the teachings of a well known animator). So why waist effort at higher framerates?
I don’t want to waist any time with frame rates at all. I’m in the animation phase. Let’s talk about frame rates when creating the AVI.

You could put a cube at frame 1 at posistion 1 and in frame 647 at position 2. The computer interpolates it for you. That is the work that tweeners used to do. If it goes to slow, just use the time ipo or remap it, move the jeys/ actions closer together or whatever.
You can say what I could do but unfortunatelly that’s not what I want to do.

Comparison:

  • time based: I move to position 26.8 seconds and put my cube where I want it to be at exactly this point in time. Done.

  • frame based: 1. I have to calculate the frame number based on my target time, 2. I will notice that the result is not a whole frame number, 3. do corrections as you wrote (have never done it but that’s not importatnt)

Which way is simpler?

Now for the games frame rates:

Normaly for games to appear fluent, you need a complete new image between vertical blanks (that when the electron beams goes back up to write the next image). 60 or 80 fps for games is just a quality indicator. That means that for a monitor refresh rate that is lower than the maximum fps, a new image is garanteed in between vertical blanks (=vbl).
If the fps is lower that the refresh rate or out of sync (in case that no interrupt is used to time the image construction), the action still could be smooth (provided the fps>24) but tearing could be visible. Certainly for game console, high fps values is pure nonsense. You want to match the TV refresh rate (25 fps or 29.7 fps) to keep things running smoothly (note: not completly true… but for 99% true).

But the main message/ conclusion is: Our current state of visual technology is all based on descreet images. The perception of continous time is just human perception. And if you want to work based on that illusion, you in danger of basing your timing on non existing frames or messing up current frames. It’s not the ‘old and outdated’ way of doing things… it’s the CORRECT way of doing things.
I’ve never said it’s outdated, but this is still not the point.

Let me try to make a conclusion (and the last attempt :wink:

  1. The only problem I have is that, as an artist, a creativ person, I do not think in frames. Instead, I have an imagination of objects, their movement, and as a human being, I think in time, in seconds, minutes. I know when what happens and when what should be where. Frames don’t matter in this model. Why the … should I bother about frames?
  2. A software should be adapted to a human being. Consequently, it should be possible to project the plan as easy as possible into the software. (sorry for my English) Whenever my plan is to have the cube at position X at point Y in time, then this is the most obvious requirement to the software.
  3. After having all the work done by putting all information (including time information) into a software system, the software is there to render. Based on the information entered, it is definitely possible to render movies at any frame rate - even at 24 fps each and every time.
  4. Our problem is that you think in a “computer adapted” way whereas I directly want to put my information - including time information - into the system.

To toontje’s credit, this has very little to do with computers at all.

Also, time, and measurements thereof are human constructs. We’re trained to think in hours, minutes and seconds. We can just as easily be trained to think in frames.

The difficulty with the paradigm that you want to work in is that, well, there are problems with it. Let’s say, for instance, that you wish to have an object at a specific location and orientation at 0.44 seconds. This number obviously is not divisible by a standard framerate. Well you can place it there (and you can actually, to some extent, do this in Blender’s IPO window because it allows for fractions of a frame), but if you’re final output is in a standard framerate, the audience will never see the object hit that position and orientation at that time… only the positions and orientations around that time.

While this doesn’t seem like a big deal, let’s throw something else in the pot. Let’s say position and orientation are critical to the animation and the audience has to see this (best example would be cartoon poses and takes). Sure, you can set the object up at that non-frame-divisible time, but it wouldn’t have nearly as much visual impact on the audience as hitting that pose when timed to the frame.

Does this make sense?

The “I’m an artist and I don’t think that way” thing is, I’m sorry to say, a cop-out. Being an animator and not thinking in terms of frames is like being a painter and not thinking about color theory. Sure it can be done, but the work won’t be nearly as effective. These are your tools. An artist’s strength is taking advantage of the tools he or she has on hand (occasionally making new ones) and getting their message across to an audience. What you see as a limitation is what others see as a facet of the medium which can be exploited to take maximum effect.

Hi,

This is an interesting discussion - it’s nice to see people with other opinions on how they would like to work!

To me that sounds more like a scientific perspective than an artistic one. I would have thought an artist would have been more concerned with exactly what the viewer would see on each frame than what might be happening between them. If you work by placing poses at particular times instead of frames you won’t know what each rendered frame will look like until you render them - choose the wrong frame rate and you’ll miss those carefully positioned poses!

As Captain Jack mentioned, POV-Ray’s animation system is governed by time. I’ve tried using it and found it pretty tricky. I imagine it would be very useful for certain kinds of scientific visualisation though.

Do you know about the Anim/Playback buttons? You can use the Map Old/New buttons to squash or stretch your entire animation along the time axis. If you wanted to render an animation with half the frame rate you’d halve the Map New value. Perhaps this will allow you to work the way you want?

  1. The only problem I have is that, as an artist, a creativ person, I do not think in frames. Instead, I have an imagination of objects, their movement, and as a human being, I think in time, in seconds, minutes. I know when what happens and when what should be where. Frames don’t matter in this model. Why the … should I bother about frames?

Sometimes to broaden your mind, you have to accept things that goes against every fiber of your being. And this is true for this discussion. No disrespect intended, but your not on the verge of a revolution in animation by appealing for time based modeling.

Many things seems not logical, but that is because your not thinking on the right level. Take for example the notation of time: 60 seconds in a minute and 60 minutes in an hour and 24 hours in a day. That doesn’t make sense at all. Why such a cumbersome system. But we accepted this Phoenician way of notation just the same (they didn’t count to 10, they had unique numbers till 60).
For you perhaps (if you are an American), the emperial measure system is pure logic. The rest of the world is baffled by this system. In electronics and advanced mathematics you learn about imagenary and complex numbers. “i” is defined as the square root of -1. So ii =-1 or -i-i=-1 . That seems just f*cking crazy. It is just impossible right? But with that attitude one is totaly unable to make any calculation in electronics.

See what I mean now?
But no matter, just explore the time based animation. I’ll bet my life that you’ll run into problems that just wouldn’t exist in frame based animation.