【问题标题】:More efficient keyframe animation in Flash CS4/5Flash CS4/5 中更高效的关键帧动画
【发布时间】:2010-12-12 21:56:03
【问题描述】:

我正在为我正在进行的一个项目做很多藤蔓/花朵的关键帧遮罩,它看起来非常好,但当然非常耗时。

我很好奇是否有任何技术/工具可以让这些动画更快,更重要的是让它们在以后更易于编辑。恐怕我会为整个动画部分设置关键帧,只是为了让客户说“看起来很棒,但你能加快速度吗?”我将不得不从头开始重建它。

【问题讨论】:

  • 这是关于 ActionScript 关键帧动画的吗?如果没有,也许这可能不是最好的询问网站。
  • 不,这是 Flash CS IDE 中的时间线动画。我知道这可能不是最好的提问地方,但我知道很多 AS3 人在这里跑来跑去,所以我想我可能会遇到一些建议的人。我也在问其他几个地方,我会在这里添加我在其他地方找到的任何好信息。
  • @John 希望您可以使用自定义符号和装饰工具制作藤蔓,这也应该允许您制作动画,否则,我建议您尝试仅使用 2 或 3 个藤蔓符号重复使用很多所以你只需要改变那些 2,3 藤而不是一切。此外,根据您的动画方法,跟踪您在历史面板中执行的可编辑步骤(CMD/Ctrl+F10)并保存您可以分配键盘快捷键以自动化您的工作流程的命令。还可以考虑查看 JSFL,并可能在 ajarproductions.com 等网站上寻找 Flash 扩展
  • 正如@BoltClock 提到的,这可能是一个更适合superuser.com 的问题,除非您想从代码中为藤蔓设置动画。另外,请记住,使用当前的动画补间(不是经典补间)和动画编辑器可以更轻松地按时间重新缩放动画。
  • @George Profenza,感谢您的提示,这些很有帮助。一旦我弄清楚我要做什么,我会探索并发布更多内容。谢谢!

标签: flash animation flash-cs4 flash-cs5 keyframe


【解决方案1】:

根据@John 的建议,这里是扩展评论作为答案。

以下是一些动画藤蔓/面具的想法:

  • 尝试使用装饰工具

它有一个名为 Vine Fill 的预设,可以进行动画处理,您可以配置一些选项并对填充进行动画处理。希望它可以配置以满足您的需求。 此外,您可能还想使用 3D 笔刷预设,设置一个符号用作蒙版并最小化喷涂区域。

Deco 工具由一个不错的程序化 C++ 引擎提供支持,您可以创建自己的工具 使用 Javascript。现有脚本将位于类似于此的位置:

/Users/{yourUser}/Library/Application\ Support/Adobe/Flash\ CS5/en_US/Configuration/ProcScripts

很遗憾,目前还没有适用于 Procedural 引擎的文档。

  • 尝试仅使用 2 或 3 个符号创建动画,但要重复使用多次来创建您的蒙版。这样,您只需更新动画 2,3 个符号即可重复使用。

  • 在您的工作流程中查找可以从 历史记录面板 (CMD/Ctrl+F10) 保存的步骤。这些步骤可以保存为命令,您可以为其分配键盘快捷键并自动化/加速您的工作流程

  • 寻找可能对您的时间线有所帮助的扩展。 Ajar Productions 有大量免费的 CS4、CS5 工具。此外,您可能会发现 Senocular's Distribute To Frames 命令很方便。

  • 尝试拾取 JSFL。您可以在我的一些较早的slides 中找到一些基本步骤。 我可能有一些粗略的脚本可能会有所帮助,例如 Copy Shape Tween As Graphic

它只是将补间帧的形状复制到一个帧中。

Here 是一个关于如何将它用于遮罩动画的示例。 如果你的藤蔓路径不是很复杂,你可以复制一条线/路径作为动画 掩码符号的路径。只需在顶部绘制一个简单的路径,将其复制到剪贴板 然后将其粘贴到蒙版符号的补间动画中。 请注意,我正在重新调整补间时间并使用洋葱皮 预览形状如何重叠的选项。如果你使用类似椭圆的东西 使用 orient to path 选项,您可以使用更少的符号。

这里还有一个小sn-p,您可以将其保存为AutoSpanLayers.jsfl 并将其放在Flash 的Commands 文件夹中,这样您就可以将键盘快捷键分配给:

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);
}

它不是很干净/花哨,但它是一个起点。这个跨越了你的层 当前符号并递增它。在这一点上,你不能改变它跨越的帧数量和多长时间。您需要更改 (i+30) 和 (i+1) 位。这不是一个完成的脚本。

here 是您如何使用它的一个示例。

Here 是另一个为藤蔓蒙版设置动画的示例。 请注意,我使用 Deco 3D Brush 工具预设只是为了轻松绘画 我将用于掩码的组对象。这是一个懒惰的选择,因为它创建 很多符号,Spray 最小为 10px,所以也不是很精确, 但你明白了。

另一个重要的注意事项是我的脚本没有经过彻底的测试,所以 先做一些基本的测试,经常保存。我不想为此感到内疚 Flash 经常崩溃。当时间线复杂时,这可能会发生。

HTH

【讨论】:

  • 优秀的评论。很有帮助。我一直在做 Flash 动画,学到了很多新技巧。谢谢。
【解决方案2】:

当然,要暗示完整的动画,您可以使用 Tweening,请参阅此 video 教程。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2015-07-03
    • 1970-01-01
    • 2012-12-22
    • 2020-09-09
    • 2017-05-30
    • 2021-03-21
    • 1970-01-01
    相关资源
    最近更新 更多