Skip navigation
Currently Being Moderated

Jerky movement in motion tweens

Jan 3, 2014 7:29 PM

Tags: #animation_timing #motion_tweens #jerky_movement

I’m using motion tweens to move a few simple symbols smoothly all the way across the screen in Flash CS5. I’m not using any easing or any actionscript. The problem is the videos I export have jerky movement. Not regular jerks, as you might expect from too low a frame rate. Instead, they’re highly irregular.

 

For instance, when I export my animation to a Quicktime movie, there might be three or four irregularly spaced jerks in the movie before all the objects get across the screen. If I play the movie again, I might get three or four jerks in different places than I got before. If I play it again the jerks are somewhere else in the movie.

 

I have tried different frame rates and different Quicktime settings, but I can’t get rid of the jerky movement.

 

I have the same problem with exported SWFs.

 

Is there a way in Flash CS5 to get this kind of motion tween (long, smooth movement) to render correctly? What I’m getting is just too amateurish-looking to send to a client.

 

Any help would be appreciated.

 
Replies
  • Currently Being Moderated
    Jan 4, 2014 4:57 AM   in reply to blue specklefish

    What kind of object are you tweening? How many pixels of movement over how many seconds at what fps?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 6, 2014 7:57 AM   in reply to blue specklefish

    I've seen this exact same thing happen many times. You can practically just make a new document, tween a circle across a 1024 document over a couple seconds and export and the issue will happen. I haven't narrowed it down myself but it's definitely a well known tween animation bug on video export, however I have never actually seen this happen in a SWF.

     

    Is the contents proprietary or can you link to an example SWF that shows the issue for you?

     

    BTW are you ticking off 'cacheAsBitmap' for the objects before you pan them? I've found this sometimes fixes that double frame issue.

     

    And I wish just removing the double frame from premiere would be enough but you really lose a frame worth of movement so even if you do the object moves twice the distance, still making an optical artifact.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 6, 2014 12:32 PM   in reply to blue specklefish

    Eventually I'm sure it will get fixed, not yet though. If you're all set please mark any helpful/correct so we can filter unanswered questions.

     

    Hope it goes smooth in AE, you're welcome and good luck!

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 6, 2014 1:04 PM   in reply to blue specklefish

    I think it could potentially still be ignorance (not trying to be cute, just observing). Did you try switching the keyframes to roving?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 6, 2014 4:37 PM   in reply to blue specklefish

    Not sure what to tell you. In CS 5.5, which you said you're using, this works for me.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 6, 2014 8:51 PM   in reply to blue specklefish

    I cant tell from your initial post ... are you trying to tween vector images, bitmaps or actual movie clips? It seems like you're trying to tween movie clips which really wont work so well in flash from my experience. If it's vector then dollar to donuts it's because you have too many points in the vector for the processor to render it well enough. I've also seen the problem stay regardless of render to Quicktime because Apple seems to not give a crap about that format since they've made so much money with iPhones and they pissed Adobe off by killing Flash so Adobe could care less that Quicktime export broke in CS4. If it's vectors you might try exporting to bitmap first, if they ARE bitmap them perhaps they're too big in size; not diameter but file size. In general I have found that Flash CS5 is a real dog and while it's not an answer you want to hear (nor should have to suffer through it with a $700 program) you might want to upgrade,  Even CS5.5 kinda sucked and I personally stayed with CS3 until CS6 came out and they fixed all the crap they broke in CS4. CS6 is far better and with regards specifically to exporting Flash CC is MUCH better becaue it uses the Media encoder instead of crappy old Flash's render engine.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 7, 2014 7:47 AM   in reply to blue specklefish

    Do remember 2 things on roving.

     

    1, If you have any timing to your animation, it will be gone. The idea is consistent (robotic) movement. For just about all animators, this isn't ideal. If all you're doing is sliding an image across a background or something that requires nothing but consistent movement, this can be a good optimizing action however. 

     

    2, If you only have 2 points to your animation (begin and end), roving will be disabled. By nature this will already be a linear animation. Add a keyframe anywhere in the middle and it will enable roving (otherwise roving in general should be irrelevant).

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 7, 2014 5:05 PM   in reply to blue specklefish

    I'm positive that's your issue then. Vectors with many complex points were never meant to be tweened. Export them out as a PNG file and import them into flash then double click them in the library and set their export settings to 100% Also I would use a classic tween anyway as the newer tween feature sucks as far as I'm concerned.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 7:29 AM   in reply to Asymetrical

    The newer tween is designed to operate on an objects properties rather than its existence at a specific time. One of the largest benefits is in ActionScript because every time you set a keyframe the object is not "re-instantiated" (or literally re-created from scratch). Therefore code that was applied to the object will continue to be applied through all keyframes. Otherwise at every single classic keyframe you need to make sure the object has the same instance name and re-apply any previously added frame code. A huge pain..

     

    If you convert your vectors to bitmaps and you scale them at all, be sure to tick off "allow smoothing" in the properties for those bitmaps or you'll get no antialiasing when you scale them (they'll get pixely/crunchy).

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 7:48 AM   in reply to sinious

    When I have instances I manipulate through code, I use getters and setters. That way, when Flash repopulates the variable with a different instance, I know it. IME, Flash will try to reuse an instance if it thinks it can/should, but it often makes the wrong choice for what I'm doing.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 7:59 AM   in reply to Amy Blankenship

    I find the average Flash weilder doesn't have your programming background Amy or they wouldn't be using many if any at all frame scripts . That said, even with re-instantiation, you still may still need a state system. One more annoying thing that motion tweens removed.

     

    And in CC there's a recent evaluation motion panel replacement, woohoo!

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 10:55 AM   in reply to sinious

    Hm, I didn't see where anyone mentioned frame scripts. I tend to assume base classes unless there's some reason to think otherwise. It's better to assume people are following best practices until they tell you they're not IMO. I think you're less likely to offend someone by assuming they're doing something well and they're not than assuming they're doing it poorly and they're not. Though of course you may well confuse them in the former case .

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 11:25 AM   in reply to Amy Blankenship

    I mentioned them, as a response to a comment about tween type preferences. It's one of many reasons motion tweens are desirable. I'm not sure why you jumped in with the get/set comment as yes, the OP had clearly stated there was no actionscript.

     

    I don't assume people use frame scripts simply because they don't base class any more than I think base classing is actually a best practice in Flash.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 11:46 AM   in reply to sinious

    Interesting about the differences of Classic tween to new tween. I did not know that. It makes sense in theory but if I'm not positive art is NOT created from scratch in a classic tween, what IS created is a new symbol with the original ART encased inside which is not really the same thing is it? Or maybe things change on render?

    Also, if the tweens work with code will the rendering of a Quicktime clip strip the code out like how rendering a movie symbol will prevent the animation to be seen or will it render like a graphics symbol?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 12:18 PM   in reply to Asymetrical

    When you export a movie it will not utilize any of the code. If your animation depends on the code, you'll have to find a way to convert it to timeline animation.

     

    On the classic "keyframe = new instance" comment, yes it re-uses the object from the library which is already in memory so the artwork is the same. However anything programmatically applied to the object or any 'state' of that object (e.g. a timeline position if it's a MovieClip) is removed and it is as if the object has been created from scratch at every classic keyframe. All code previously applied to it via frame scripts is removed and any state that has changed in its base class past instantiation is lost unless you manually provide a means to recover.

     

    Motion tweens just avoid all of that nature. The same object is continuously used and keyframes merely change properties of the object (x, y, rotation, etc) from keyframe to keyframe over time. Any code that has affected the object remains intact as well as any changes to the objects base class, if there is one.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 12:29 PM   in reply to sinious

    I'm not sure why you jumped in with the get/set comment as yes, the OP had clearly stated there was no actionscript.

    This was in response to your comment that once you have a new instance you need to find a way to reapply the things that were applied to it before. One way to do that is to use a setter, so that Flash will tell you that you have a new instance. Another way is to listen for ADDED_TO_STAGE in capture mode.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 12:37 PM   in reply to Asymetrical

    Asymetrical wrote:

     

    Interesting about the differences of Classic tween to new tween. I did not know that. It makes sense in theory but if I'm not positive art is NOT created from scratch in a classic tween, what IS created is a new symbol with the original ART encased inside which is not really the same thing is it? Or maybe things change on render?

    Also, if the tweens work with code will the rendering of a Quicktime clip strip the code out like how rendering a movie symbol will prevent the animation to be seen or will it render like a graphics symbol?

     

    I'm pretty sure if you have synch symbols turned on (the arrows point to the keyframes without a vertical line in between) no new instance is created. I am not sure if one is created if that is off. You can easily find out by using a getter/setter pair and watching/tracing when you get a new instance or by listening for ADDED_TO_STAGE in capture phas.

     

    Anything you can see when you scrub the main timeline will be exported properly to QuickTime. So if your motion tween is in a Graphic Symbol and there are enough frames to show it or it's on the main timeline, it should export fine. I'm not sure whether the newer export features would allow you to export the same tween in a MC.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 1:55 PM   in reply to Amy Blankenship

    Amy~ I just didn't know if you read that we weren't discussing scripting, just the merits of different tweens. Bunny trail prevention

     

    You are correct that setting sync on the classic tween allowing future scripts to access it despite the property panel failing the retain the instance name and instantiation does not happen keyframe to keyframe (ADDED/REMOVED).

     

    That said, any scripts interacting with a tweened object removes the tween anyhow. So it's all fairly moot.

     

    Asymetrical~ MovieClips can be nested all you like and they'll export fine in videos (within random reasonable complexity limits more related to bugs and hardware). You just don't want to use code to do the animating. 

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 8, 2014 3:36 PM   in reply to sinious

         Sinius- From my experience, no you can NOT export a movie symbol with nested animation to a Quicktime (orAVI) and have it move. Only a Graphics symbol will do that. A Movie clip will only show the first frame. It will tween across the screen but hold on the first frame. I'm just an animator so I don't know code or scripting very well but I do know animation in Flash very well and unless Movie clips have changed since CS3 (I haven't bothered to check), to export animation on the timeline that has been nested you MUST use a graphics symbol.

     

    The way it was explained to me is that a Graphics symbol will play whatever is nested inside it as far as the main timeline's frame range is extended while a Movie symbol will play a timeline nested inside to it's completion regardless of how long the main stage's timeline frame range is. But ONLY in a swf. When a Movie clip is exported it's stripped as you said of all code and therefore doesn't play anything. I hope I explained that well enough.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 9, 2014 8:21 AM   in reply to Asymetrical

    I think somewhere around CS 5 they added some support for exporting movies with MC's and script. I vaguely remember seeing it demoed at FlashBelt 2010. But it probably won't work if it needs interactivity--and if it doesn't then why would you make it where it needs nested Mc's and AS?

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 9, 2014 8:28 AM   in reply to Asymetrical

    CS3 was quite a while ago.

     

    You explained it well enough for that era but, that's not the era we're in now .

     

    Two things.

     

    One, MovieClips (as you mentioned) may play continuously on a single frame but when exporting to a video format the main timeline sets the duration, not the inner MovieClips content. So while in a SWF a MovieClip on a single frame may contain an hour long animation, if it only takes 1 frame on the main timeline, when exported it will be 1 frame long.

     

    Two, nested MovieClips work perfectly fine. Consider the simple example of 3 nested clips (outer, middle, inner):

     

    outermiddleinner.png

     

    As you can see Outer is the main timeline (60 frames) and dictates the video length. Inside that clip is "Middle" which is also 60 frames and animates a shape around a curve. Nested once more inside that is "Inner" which has a repeating 15 frame animation of the circle going up and down as well as alpha from 100->50->100. Because it's only 15 frames it serves to demonstrate that nested clips which are not as long as the main timeline will actually loop.

     

    Video example of this triple nested MovieClip (61KB):

    http://www.ertp.com/tmp/outermiddleinner.mp4

     

    You can clearly see not only do you see the object follow the 60 frame curve in the second level but the entire time the Inner clip is repeated 4 times (15 x 4 = 60 frames) to shop MovieClips will loop.

     

    So yes, you can export nested MovieClips just fine.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points