More efficient keyframe animation in Flash CS4/5
I'm doing a lot of keyframe masking of vines/flowers for a project I'm w开发者_如何学编程orking on, and it looks really good but is, of course, very time consuming.
I'm curious if there's any techniques/tools for making these animations faster, and more importantly making them more editable later. I'm afraid I'm going to keyframe out entire sections of animation only for the client to say "Looks great, but can you speed it up just a touch?" and I'll have to rebuilt it all from scratch again.
At @John's suggestion here is the expanded comment as an answer.
Here are some ideas for animating vines/masks:
- Try using the Deco Tool
It has a preset called Vine Fill which can be animated, you can configure a few options and animate the fill. Hopefully it can be configured to suit your needs. Also you might want to play with the 3D brush preset, set a symbol to use as a mask and minimize the Spray area.
The Deco tools are powered by a nice prodecural C++ engine and you can create your own tools using Javascript. The existing scripts will be in a location similar to this:
/Users/{yourUser}/Library/Application\ Support/Adobe/Flash\ CS5/en_US/Configuration/ProcScripts
Unfortunately there isn't a documentation out there for the Procedural engine yet.
Try creating the animation using only 2 or 3 symbols, but reuse them many times to create your masks. This way, you only update the animation 2,3 symbols and it will be reused.
Find Steps in your workflow that can be saved from the History Panel (CMD/Ctrl+F10). Those steps can be saved as commands you can assign keyboard shortcuts to and automate/speed up your workflow
Look for extensions that might aid your with your timeline. Ajar Productions have a great set of free tools for CS4,CS5. Also you might find Senocular's Distribute To Frames command handy.
Try to pickup JSFL. You can find some basic steps in some of my older slides. I might have a few rough scripts that might help, like this Copy Shape Tween As Graphic
It just copies shape tween frames into one frame.
Here is an example on how you might use it for a mask animation.
If your vine path isn't very complex, you can copy a line/path as an animation path for your mask symbol. Just draw a simple path on top, copy it to the clipboard then paste it into the mask symbol's motion tween. Notice in the recording that I am rescaling time for tween and using the onion skin option to preview how the shapes overlap. If you use something like an oval and the use the orient to path option, you can get away with less symbols.Also here's a little snippet you can save as AutoSpanLayers.jsfl and put it Flash's Commands folder so you can assign a keyboard shortcut to:
var doc = fl.getDocumentDOM();
var tl = doc.getTimeline();
tl.insertFrames((tl.layerCount*100),false);
for(var i = 0 ; i < tl.layerCount; i++){
tl.setSelectedLayers(i,true);
tl.insertBlankKeyframe(i+30);
tl.insertKeyframe(i+1);
tl.insertBlankKeyframe(i);
tl.insertBlankKeyframe(0);
}
It's not very clean/fancy, but it's a starting point. This one spans the layers in your current symbol and increments it. At this point you can't change the amount of frames it spans and for how long nicely. You need to change the (i+30) and the (i+1) bit. It's not a finished script.
but here's an example of how you can use it.
Here is another example to animate a vine mask.
Notice I'm using the Deco 3D Brush tool preset just to easily paint group object I'll use for the mask. This is a lazy option, as it creates lots of symbols and the Spray minimum is 10px so it's not very exact either, but you get the picture.Another important note is that my scripts haven't been thoroughly testes, so do make some basic tests first, save often. I don't want to feel guilty for crashing Flash to often. This will probably happen when have a complex timeline.
HTH
Of course, for implying full animations you can use Tweening, see this video tutorial.
精彩评论