frame rate flexibility

Discuss ideas for new features with other users. To submit feature requests to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

slice11217
Posts: 279
Joined: Thu Mar 30, 2006 6:12 pm
Location: Verona, New Jersey

frame rate flexibility

Post by slice11217 »

OK, I don't know how feasible this is but I think it would be a nice ideal.

As we all know, different medium have different requirements. For example,I've been told that if you're doing animation for the web, the best frame rate to use would be about 12 frames per second (fps), while I also know that for film 24 fps works best and for video you should use either 30 fps or 60 fps, depending on your intended outcome.

Here's the thing: I created an animation for the web at 12 fps and while I'm not done with it (I would've posted a link for you if I were), I would like to re-purpose it for video so I can put it on my reel. Right now, the only way I can do that is to bring it into After Effects, expand the frame rate to 24 fps thus putting the animation on 2's, and then render it out with a 3:2 pulldown at 29.97 fps.

I've been thinking that it would be nice if Moho were able to convert an animation's frame rate when it outputs. This is where the explanation gets a little tricky though. I could simply change the frame rate of the project to 30 fps but that would mean that something that happens a half-second into the project (frame 6) would now happen in one-fifth of a second. This is because as things stand, frame 6 will always be frame 6 no matter what the frame rate is.

I guess what I'm suggesting is some kind of adaptive frame rate render, so that if I click the "adaptive frame rate render" button I can specify what frame rate I want, and if I say "30 fps" then Moho renders it out and the event that happens at frame 6 in my 12 fps project would be render out to happen at frame 15 in my 30 fps movie/.swf file.

Does that make sense?

I'd just like to have the a little "media flexibility", as it were. Perhaps there's already a script for this? If so, please post the link.

Just to clarify, Moho's a great piece of software and I've been using it reliably for some time now. I'm having a great time with it and when I have something ready to post I'll do so.

Thanks,

Scott
User avatar
Manu
Posts: 325
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Post by Manu »

You can "stretch" the placement of your keyframes on the timeline. I haven't got Moho in front of me, but I think it's under the Animate-menu. Stretching your keyframes only will get you so far, you may want to tweak the result, depending on how picky you are.
slice11217
Posts: 279
Joined: Thu Mar 30, 2006 6:12 pm
Location: Verona, New Jersey

Post by slice11217 »

I think I'd prefer to have Moho render it out at different frame rates. That way, I'd only require to have only one project with one setting, etc. Since I nest a lot of my projects, it would be a lot to remember to stretch the keyframes for every bone layer and if there's any inaccuracies in the action of stretching keyframes it would really 'f' up the whole animation.

As a workaround for right now though, it's worth considering to stretch the keyframes.

Scott
User avatar
cribble
Posts: 899
Joined: Wed Aug 04, 2004 12:42 pm
Location: London, UK
Contact:

Post by cribble »

Then it would of been easier if you animated at 24fps and exported at half frame rate for your web animation, while keeping the 24fps for the reel.

The only thing you can do now, is do what Manu said, and go to Animation>Rescale Keyframes menu and expand the frames to fit the new fps.
--Scott
cribble.net
nama_rupa
Posts: 35
Joined: Wed Aug 02, 2006 11:40 pm
Location: NYC

Post by nama_rupa »

Yeah I am running into the same issue right now. I am animating characters in Moho and bringing them into after effects where I am time remapping them. To help smooth that time remapping I tried rendering out of moho at 60fps and ran into all sorts of problems. So this feature would help me a lot too.
User avatar
Manu
Posts: 325
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Post by Manu »

You're asking Moho to render frames that aren't there on your timeline. If you want to render out at twice the frame-rate, you're asking it to render frame numbers:
1
1.5
2
2.5
3
...

So if you switch off the visibility of a layer at frame 4, what would happen at frame 3.5? Would it still be on? Would it switch off? Would it fade off? You're asking Moho to do a lot of second guessing here. If you make it a feature that can only be switched on at render-time, you've got no control how the extra frames will be created, effectively loading off your work as an animator to Moho.
I wonder if there is any scripts that can retime an entire scene in one go, saving you the trouble of having to do it layer by layer. That way, you can still tweak the higher frame-rate version, which, in my opinion, you almost always will have to do. But then again, I'm an old fashioned animator who believes in a bit of elbow-grease.
User avatar
Fazek
Posts: 246
Joined: Thu Apr 13, 2006 1:37 pm
Location: Hungary
Contact:

Post by Fazek »

Perhaps we can ask an option for "keeping all of the keys". It is important only if downscaling the framerate. It requires some shifting in the timeline (later the user can correct it by hand). The problem is that the program can't know which layers are synchronised strictly together. So maybe it adds more frames than really wanted, or - this is the worse - the synchronisation will be lost.

Maybe the best way to avoid these problems if you make the animation with the smallest framerate you want to use. Upscaling the framerate keeps all of the keyframes, only adds some new frames between them.
Last edited by Fazek on Wed Aug 16, 2006 5:59 pm, edited 1 time in total.
- - - Fazek
slice11217
Posts: 279
Joined: Thu Mar 30, 2006 6:12 pm
Location: Verona, New Jersey

Post by slice11217 »

Yeah you're right Cribble/Scott, I probably should have rendered it out at 24 fps and then downshifted to 12 but then again, hindsight usually is 20/20. Also, it's kinda a pain in the butt to go into Flash (or whatever) and delete every other frame. Right now however, I have a nice piece of animation that I'm gonna have to up-convert to use, so hindsight doesn't really solve the problem at hand.

I have a touch of old-fashioned animator in me as well Manu, and I'm also keenly aware of what it's like to have a producer breathing down your neck for a deadline. -Not that this is what's at stake here, but I am in a situation where people are asking for my reel and the only one I have is from a few years ago before I was using Moho.

All I'm saying is that it would be nice if Moho could do what I suggested. What would happen if you turned off a layer at frame 4? It would turn off at frame 8. Frame 7 would then be on. Sure there's second guessing, but that's what Moho's doing when you animate with it anyway. If you know something about HOW it second guesses then you can anticipate what it will do and prepare for it.

I just think it would be easier to have a function that allows for frame-rate independence on the render. Sure it would be better to plan ahead and animate at the highest frame rate you think you might need. Unfortunately this could mean that for some projects people are animating at 60 fps (in the U.S.) or at 50 fps (Europe). I'd rather not do that if I don't have to but it all depends on what the project at hand needs.

Scott
User avatar
Manu
Posts: 325
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Post by Manu »

Fazek wrote:...only adds some new frames between them.
That's the problem. Which frames? Not everything wants to be inbetweened in a default way. I've hardly ever come across an animation that looks good at 12FPS that still looks good when simply doubled up in framerate. The resulting animation always looks too soft.
slice11217 wrote:I just think it would be easier to have a function that allows for frame-rate independence on the render.
Somehow I think a script to retime the entire project would still be a good way of doing it. It really wouldn't be that much more work. It gives you more control. It allows for tweaking and you can save the resulting 24FPS version separately. The result should artistically be far more satisfying than an automatic conversion, after all, if you're going to put this on a showreel...
And a script can be written in less than a week... if you know how to.
slice11217
Posts: 279
Joined: Thu Mar 30, 2006 6:12 pm
Location: Verona, New Jersey

Post by slice11217 »

Manu wrote: Somehow I think a script to retime the entire project would still be a good way of doing it. It really wouldn't be that much more work. It gives you more control. It allows for tweaking and you can save the resulting 24FPS version separately. The result should artistically be far more satisfying than an automatic conversion, after all, if you're going to put this on a showreel...
And a script can be written in less than a week... if you know how to.
OK, a retiming script would be a fair middle ground. -Give you the opportunity to correct errors. Unfortunately I fall into the 'don't know how to write it' category. I'd rather animate than write scripts, I suppose.

Any takers scriptwriters?
User avatar
Fazek
Posts: 246
Joined: Thu Apr 13, 2006 1:37 pm
Location: Hungary
Contact:

Post by Fazek »

I'm trying to help you but I haven't much time to write the script. Now let's try to find what are the main parameters of the script.

Do you want to change the framerate only because of technical reasons, or you want a better quality animation on higher framerates? It is relatively easy to make a script for the upscaling where the result is exactly the same as the original (simply duplicate the frames and not interpolating between them). A more sophisticated way is a bit harder.

I think something like this: where there are at least two frames between two keyframes in the original, maybe that means the animation is inbetweened. The problem comes out if there is no or only one frame is between them. These cases could be processed as above, with freezing the animation.
- - - Fazek
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Using the scale animation menu command works pretty good for me. I use it a lot actually.

It would seem to me... that if there are no frames between two keys... the scaling would work... exactly fine... you just need to tweak it by hand. I don't see any other way around it actually.

A single step of animation like that... would need to be adressed by "human interaction". A computer is never going to make that right "automatically". It would require possibly... additional keys to change the motion timing... or possibly.. moving the keys... it would depend on what is actually happening.

Even if you could somehow... do it with a script... you most likely won't get the results expected anyway and would need to "fix it"... so why jump through the hoops to pull it off?

All the other animation programs I have used which had "scaling" of this sort... only did one thing... "squish" the keyframes together or "spread" them out. I've never seen any other features.

I had to retime a BUNCH of completed animations... by a specific amount (24fps to 30fps) because of a stupid mistake.

I just calculated the percentage increase of 24 to 30 (125%) and multplied that times the length of the animation and used the scale animation feature to that frame number. Worked like a charm. Luckily it was a small enough change that the animation wasn't effected that badly... even the switch keys for lip synch scaled up to match the audio.

... the Papagayo files were another story however... that wasn't so easy to fix. ;)

-vern
User avatar
Manu
Posts: 325
Joined: Tue Aug 03, 2004 10:11 pm
Contact:

Post by Manu »

Fazek wrote:I'm trying to help you but I haven't much time to write the script. Now let's try to find what are the main parameters of the script.
My gut-feeling is: just scale all the keyframes in the scene mathematically. Look at the result in playback and anything that stands out like a sore thumb, just correct it manually.
But I'm not the one that started this thread, Scott is the one to ask.
Either way, it's great for you to offer your help, Fazek.
slice11217
Posts: 279
Joined: Thu Mar 30, 2006 6:12 pm
Location: Verona, New Jersey

Post by slice11217 »

Fazek wrote:I'm trying to help you but I haven't much time to write the script. Now let's try to find what are the main parameters of the script.

Do you want to change the framerate only because of technical reasons, or you want a better quality animation on higher framerates? It is relatively easy to make a script for the upscaling where the result is exactly the same as the original (simply duplicate the frames and not interpolating between them). A more sophisticated way is a bit harder.

I think something like this: where there are at least two frames between two keyframes in the original, maybe that means the animation is inbetweened. The problem comes out if there is no or only one frame is between them. These cases could be processed as above, with freezing the animation.
I'm sorry I've taken so long to return to this subject. The working animators out there will easily understand what it's like to have a producer with a deadline breathing down your neck for a few days.

I'm afraid the answer to this question will probably be what you wouldn't want to hear, and that is: the best of both worlds. There is a technical reason for wanting to be able to upgrade the frame rate in that video requires something higher than film and the web, etc. -Even on the level of rendering for video there's the issue of 30 fps vs. 60 fps.

Personally for a lot of things, I like the highest possible frame rate rendered out a video resolution and field rendered. I prefer to composite without a field rendered video and then field render on the render (After Effects). I find the result to be much better than using animation that's pre-field rendered.

Also I think that since Moho is an animation program, the quality of the animation should also improve which means that a little human monitoring would be required as Manu rightly pointed out. I'm sure a computer would have a tough time interpreting what's needed. I think it would be helpful to be able to make the conversion across the board to an entire project rather than on a layer-by-layer basis.

I'm sure the conversion from 12 fps to 24 wouldn't be too traumatic, but from 12 or 24 to 30 or 60 would probably require some monitoring.

In the case where there is no or only one frame between frames, I can't imagine one answer that would work for all situations. I think that would be a case-by case situation.

For example, sometimes I key every frame because I need something to follow a path that Moho is having a tough time following. I recently animated a chicken walking and there were points where I needed to key some of the frames on 1's because Moho couldn't automatically pick up the subtleties without human help. Chicken feet do some funky bending while they're walking.

I don't know if this answers questions or even helps but I thank you for your effort.

Scott
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

As for animating fps. I animate at 60fps for dvd purposes. It's easy to turn 60fps into 59.94fps which gives you 59.94 fields/29.97fps for dvd. I don't export as swf for web because I don't like it. It's too slow and timing is harder to keep for longer animations. Better using divx or quicktime for web animations. Cause then all you have to do is lower the fps in VirtualDub, which keeps it simple. ;)
Post Reply