'Rescale Keframes' - DOES NOT WORK!!!

Discuss Moho bugs (or suspected bugs) with other users. To report bugs to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

donnie
Posts: 111
Joined: Mon Oct 16, 2006 11:53 pm

'Rescale Keframes' - DOES NOT WORK!!!

Post by donnie »

The rescale keyframes function works ok for shifting a bunch of keyframes back in time, but if I want to shift them forward it does not work!!
It just seems to 'mash' the keyframes together.

Say, for instance, I have a bunch of keyframes from frame 10 to 20 that I want to move 10 frames forward in time. I would set the rescale keyframes dialogue box to:

Start frame 10 - end frame 20 (if thats the last frame of your project)
New start frame 20 - new end frame 30

This simple shifting forward of keyframes seems to mash the keyframes together where the end key frame is in the right place but all the other keyframes are squashed up to it, rather than starting at the new start frame.

see also this thread:

viewtopic.php?t=9487

Its ridiculous - Anime Studio really should have a simple way of shifting keys in multiple layers forwards or backwards in time - Its of extreme importance to enable animators to tweak timings easily and efficently.
Unfortunately this glaring error on AS's part has stopped my director from letting us use it in an upcoming project (which would have resulted in multiple purchases of the program).
lets hope a solution to this most fundamental of problems will be upcoming sooner rather than later.

-Thanks for reading

-Donnie.
da2tha3
Posts: 44
Joined: Thu Jul 10, 2008 11:33 am
Location: Bolton, UK
Contact:

Post by da2tha3 »

I've just come across this today when a client wanted to add in time at the beginning of an animation created in Animé Studio Pro 5.6. I know this post will be reopening a (very) old topic, but maybe it will help someone else if I point out that someone else had come across this problem (which I know is now fixed with the sequencer in version 6, but where I work we've not upgraded yet, and I imagine the same applies to others), and suggested a solution. I believe that was heyvern, apologies if I'm giving undue and incorrect credit.

The solution is to merge all layers into a group, and then create an action for that group, copy all keyframes from the Main action to the new action, and then Delete All Keyframes on the Main action. This will not delete your keyframes in the new action. This action can then be moved to wherever is necessary.

It's an annoyance, but any solution is better than no solution. I just wish we'd get version 6 and have done with this bug.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Re: 'Rescale Keframes' - DOES NOT WORK!!!

Post by heyvern »

donnie wrote:The rescale keyframes function works ok for shifting a bunch of keyframes back in time, but if I want to shift them forward it does not work!!
It just seems to 'mash' the keyframes together.
Sorry you can't use AS for the project. HOWEVER, unfortunately your problem is easily solved. Maybe it's not too late to tell your director?

Scale key frames WORKS!. It just has a minor "interface" glitch in the dialog box.

The problem is changing or clicking on the check boxes AFTER setting the new frame values. When you click those check boxes it will RESET the new frame values. You may not see this happening.

If you click or change any check boxes REVIEW YOUR NEW START AND END FRAMES to make sure they haven't been "reset".

--------------------------------------

YES YES THIS IS A BUG! IT SHOULD BE FIXED IMMEDIATELY. Please please don't jump down my throat about this! Of course this is a bug. It is A BUG. It is a bug it is a bug....

I am merely showing how to make it work..

p.s. I am sure when you explained to the director all the trouble you had shifting key frames, that didn't have any influence on his decision about using AS right? Were you just as angry and frustrated explaining it to him as you are to us?

-vern
da2tha3
Posts: 44
Joined: Thu Jul 10, 2008 11:33 am
Location: Bolton, UK
Contact:

Post by da2tha3 »

I'm sure I always click the check box prior to hitting OK and it still had the effect donnie described...
User avatar
rylleman
Posts: 750
Joined: Tue Feb 15, 2005 5:22 pm
Location: sweden
Contact:

Post by rylleman »

Yes, this is a bug, but not the one Heyvern is describing.
The workaround is to add one extra frame at the end of the rescale. Rescale 10-20 to 20-31 instead of 20-30.
For some reason AS always mash up the keys when just rescaling. (This is for AS5.x, for AS6 you could simply use the new awesome sequencer to shift the keys)
da2tha3
Posts: 44
Joined: Thu Jul 10, 2008 11:33 am
Location: Bolton, UK
Contact:

Post by da2tha3 »

^ absolutely. If only my tight arse boss would invest in an upgrade.
donnie
Posts: 111
Joined: Mon Oct 16, 2006 11:53 pm

Post by donnie »

Heh.. funny seeing this crop up at this time.

This point has pretty much become redundant recently for me thanks to Rudigers brilliant work on his 'nudge keyframes' script.

If you havent checked it out I urgently suggest you do as its fantastic! :

viewtopic.php?t=13935

p.s oh, and Hevern that particular project I was talking about ended up being doing in a 3d package, more for stylistic reasons than any real problem with as though.

I still love Anime Studio as much as ever and am currently badgering our producer to get us the upgrades to v6! :wink:
But for now Im more than happy with the extra funtionality Rudigers script brings to v 5.6

Cheers
User avatar
SpaceBoy64
Posts: 321
Joined: Wed Sep 16, 2009 8:54 pm
Location: Columbus
Contact:

re-scaling

Post by SpaceBoy64 »

I recently wanted to take my animation and double the length of time it takes, but I found that the scaling was not right when I did this.

ie: The animation lasts 60 frames and I want to make it last 120 frames. Somehow the scaling doesn't work right when I try this.

Is there a fix for this?
bibbinator
Posts: 17
Joined: Wed Mar 10, 2010 1:37 pm

Post by bibbinator »

BUMP

Similar to SpaceBoy64 I think there is still a problem with Rescale Keyframes?

I wanted to speed up a portion of the animation as per page 246 of the manual (the example for rescale keyframes) and it simply doesn't work.

To be specific:

1. Clicked "Rescale entire document"

2. Start frame=780 End frame=1530

3. New start frame=780 New end frame=900

When I click okay, the new ending is at 800, not 900. I thought, okay, maybe add a hundred more, but with New end frame at 1000 it then ends at 845.
User avatar
SpaceBoy64
Posts: 321
Joined: Wed Sep 16, 2009 8:54 pm
Location: Columbus
Contact:

Post by SpaceBoy64 »

Yes, this is exactly what I was talking about.

It seems like most of thread is about shifting frames. I want to scale frames, not just shift them.

I want my 60 frame animation to take 120 frames because I animated to the normal 30 fps standard, but I'd like to render 60 fps. Simply changing the fps setting in the preferences actually does nothing. If the animation is 30 frames long, 30 frames are output no matter what the fps setting is.

This sort of thing will be increasingly important with HD formats.

(And please don't tell me that animation shouldn't have interlacing)
bibbinator
Posts: 17
Joined: Wed Mar 10, 2010 1:37 pm

Rescale Keyframe behavior formula

Post by bibbinator »

Hi SpaceBoy64,

I might be able to help you.

The rescale thing bothered me enough I kept plugging away at it and I think I found the formula it's using. You could use this formula to possibly work out how to workaround it not working.

The bug with it (in our case anyway) is that the scale factor is calculated corrected, but it's applied to the new frame range instead of the original frame range.

E.g. New number of frames = ((New end frame - New start frame) / (End frame - Start frame)) * (New end frame - New start frame)

But it should be

E.g. New number of frames = ((New end frame - New start frame) / (End frame - Start frame)) * (End frame - Start frame)

So, breaking this down step-by-step:

First, the scaling % is found by:

Scale % = (New end frame - New start frame) / (End frame - Start frame) [this is correct]

This is then multiplied by the number of target frames (hence the error) to get the number of new frames that the source will be squeezed into.

New frame count = (Scale %) * (New end frame - New start frame) [wrong!]

Then everything is scaled into that.

So the ending frame becomes New frame start + New frame count.

So for example in my case:

So in my case:

((1000 - 780) / (1535 - 780)) * (1000 - 780) + 780 = 845

Using this formula, at least potentially you can figure out what values to put into the fields to make it work in some cases.

This seems like a very simple fix, and maybe nobody looked at it yet, so if that's the case then perhaps a dev will look at it and fix it since all they need to do is use the original range and not the new range fields.

Hope this makes sense and is helpful.

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

Post by J. Baker »

You are correct bibbinator. I ran some code to verify and if you round to the nearest, you would actually get 844 instead of 845. But if done correctly, you should have gotten 1000. I'll report this as I'm a beta tester. Here's the code as I tested it...

Code: Select all

; (((NEF - NSF) / (EF - SF)) * (NEF - NSF)) + SF ,Incorrect
; (((NEF - NSF) / (EF - SF)) * (EF - SF)) + SF ,Correct

Number.f = (((1000 - 780) / (1535 - 780)) * (1000 - 780)) + 780

Result.f = Round(Number.f, #PB_Round_Nearest)

Debug Result
User avatar
SpaceBoy64
Posts: 321
Joined: Wed Sep 16, 2009 8:54 pm
Location: Columbus
Contact:

Post by SpaceBoy64 »

J. Baker wrote:You are correct bibbinator. I ran some code to verify and if you round to the nearest, you would actually get 844 instead of 845. But if done correctly, you should have gotten 1000. I'll report this as I'm a beta tester.
Thank you! Now I know I'm not imagining it, or doing something wrong.
User avatar
J. Baker
Posts: 1063
Joined: Wed Mar 23, 2005 7:22 pm
Location: USA
Contact:

Post by J. Baker »

Ok, I made a program called "Scale Keyframes Adjuster" using the math provided by bibbinator. It should be pretty easy to figure out. So I guess now it's time to test to see if it works in all situations.

Download Here!
bibbinator
Posts: 17
Joined: Wed Mar 10, 2010 1:37 pm

Post by bibbinator »

Nice. I had a similar idea, but in Excel. If anybody wants the Excel version PM me and I'll send it to you.

What I wanted to do though was put in my desired end frame and have it tell me what value to put into the end frame instead to get that. But can't be done in Excel easily.

The way it is now, it's fiddly. You have to use trial and error to find the end frame value to use.
Post Reply