• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > 最全最好用的动效落地方法,都帮你总结好了(下)

最全最好用的动效落地方法,都帮你总结好了(下)

作者:绿lvgreen 字体:[增加 减小] 来源:互联网 时间:2018-08-23

本文主要包含动效,动效设计,团队协作,微动效,沟通技巧,经验分享等相关知识,绿lvgreen希望在学习及工作中可以帮助到您

上篇内容回顾:《最全最好用的动效落地方法,都帮你总结好了(上)》

接下来进入下篇。主题是:从 Web 前端的角度来讲,有哪些便捷的方法实现这些动效?

在目前行业内,动效设计的整个体系还未成熟。从最终呈现效果来讲,动效可能会影响页面性能、加载速度等。所以提到动效,很多同学可能会产生抵触心理。

遇到问题我们首先拆解困难,在我看来在动效落地过程中面临的困难可以分成以下三种:

  • 对接困难:对接困难实际上就是沟通困难,这也是本文要探讨的重点。因为界面动效是一种新出现的设计模式,在开发和设计之间,还没有一套成熟的对接标准。
  • 设计困难:界面的动效本质上是静态的界面在时间和交互维度上的延展,最常用的界面设计工具还不能进行时间轴的设计,而如 AE 这种传统的动态设计工具缺少可交互性,很难对界面的交互维度进行高精度设计。
  • 实现困难:界面增加了时间维度,研发不仅仅需要布局,同样要把控各个元素在时间流上的表现,个别情况下使用序列帧或者 Gif 的话,又需要严格控制资源大小,在各方面增加了开发的成本。

针对以上几点,我在日常的工作过程中,总结出了一些更有效的解决方案,这些解决方案虽然不是十全十美,但是一般能覆盖到工程环境中大多数情况。

一、对接

开发和设计师沟通困难,是因为没有通过精准的参数去描述动效。要解决这个问题,我们需要创造一套有效的动效标注系统,这个系统必须做到以下两点:让设计师可以轻松地描述动效,让开发可以准确地还原动效。构建这套「标注」的方法分以下两个部分阐述:

1. 动效量化

其实,界面动效背后涉及到的设计参数非常简单,只有三种。无论多复杂的动效也是这三种参数经过组合拼接出来的:

变化

变化可以划分为四类(如动图所示),这四类变化基本涵盖了界面元素的全部运动方式,只要我们准确地描述元素在动效前后的变化量,就可以准确地完成「变化」这个参数的对接。

举个例子,下面动图中被扔出来的绿色小恐龙就同时包含上述四种变化。

它在 AE 中前后变化的参数如下:

那么这个时候我们需要记录的状态(这里只涉及到变化)就应该是这样:

初始状态:

  • 位移:X轴 0
  • 旋转 :0度
  • 尺寸:1
  • 透明度:0.2

结束状态:

  • 位移:X轴 200px
  • 旋转:+180度
  • 尺寸:1.5
  • 透明度:1

这样看就清晰多了。作为一名友善的设计师,千万不要随便拿一个 demo 说「就按照这样做个差不多的效果就可以了」,那样的话估计大部分开发只会一脸懵逼。

时长

第二个关键参数就是时长,这个顾名思义也就是动画播放的时间长度。无论变化是多是少,简单还是复杂,我们需要把每一段变化的时间确定,时间短干脆利落,时间长轻缓柔和。

在标注的时候,不要忘记标注清楚动效的起始时间和终止时间。

曲线

曲线描述的是物体运动时候的速度变化,如果说变化和时长是动效的本体,那么曲线就是动效的灵魂。

对于一个运动的物体,同样的变化,同样时间,赋予不同的速度曲线,会让它的动效产生丰富的变化。 所以在动效设计中,曲线也是设计者最为关注的部分。

最基础的速度曲线有线性(就是全程匀速)、缓入、缓出、缓入缓出四种:

虽然大家平时或多或少都用过以上几种曲线来描述动画的过程,但是大家不一定对曲线的具体用法有真正的理解、下面我会给出四个例子,来阐述一下以上几种曲线的用法。

在上图的例子中小圆运动时长一致,它们水平位移,一起到达终点,但是速度曲线不一样。

  • 圆一:缓出 ease-out,本来有一定的速度,慢慢刹车。 适合用在一个元素进入页面的时候。
  • 圆二:缓入 ease-in,本来没速度,越来越快, 相当于一个东西从零开始加速。适合用在一个元素离开页面的时候。
  • 圆三:缓入缓出 ease-in-out,开头结尾都没有速度,先加速、再减速,是我们日常生活中最常见的物理运动。适合用在一个元素从页面 A 点到 B 点。
  • 圆四:做匀速运动 linear ,看起来非常死板,不推荐使用。

那么动画曲线在设计工具的哪里出现呢?

AE 中可以通过值图表,来调整动画的曲线,并且通过换算(换算方法)得到可用于开发的 cubic-bezier 曲线参数,或者通过 Flow 这样的插件直接用 cubic-bezier 曲线进行设计。

而在新兴设计工具(Framer)中,本身工具就直接可以用 cubic-bezier 曲线定义动画。

在前端开发中,可以直接利用设计给出的 cubic-bezier 曲线参数来描述动画,示例如下:

div {
-webkit-transition: all 500ms cubic-bezier(0.10, 0.45, 0.46, 0.99);
transition: all 500ms cubic-bezier(0.10, 0.45, 0.46, 0.99);
}

现在有许多工具可以方便设计师去调曲线,实时预览效果,并且显示成前端需要的格式。在这里推荐两个:

cubic-bezier.com

css3beziercurve.net/

曲线部分就这样讲完了,顺带提一下,虽然在这里我举例的是位移的速度曲线,但是其实旋转、尺寸、透明度等等变化同样是存在速度曲线的,在这些变化上加上速度曲线一样可以让动效更加自然贴近真实。前端也是可以实现的。

2. 标注

通过以上对动效参数的量化,我认为一份合格的标注应该是这样的:

上图中的交互动效来自 Amazon Prime Music,界面中出现了两个元素(加号 icon & 对勾 icon)的动画,虽然看起来非常简单,但是包含着极为丰富的变化。

标注的时候除了说明动效的三元素,还要说明触发条件以及动画对象,所以最好用表格的方式,这样可以更清晰的把它们每一段变化都清晰罗列出来:

如图,注意曲线要标注好英文名称这样前端才可以拿去用。

这份标注的模板我也上传到云盘上,链接:动效标注

如果看到这里你还有许多疑问,推荐阅读 MartinRGB 写的 MartinRGB/MTGuideline,里面从交互动画的风格定义,到动效设计、标注、开发流程都有介绍。

二、设计方法与工具

最传统普遍应用的动效设计工具是 After Effects,因为可能很多设计师在之前就有使用的经验,但它也有不符合当下需求的缺点:不能交互、产出物不好量化、难分享。而目前也出现了很多新兴的设计,产出解决方案,下面我会做一些简单的介绍。

1. 自动导出类

目前,有像 Lottie、Keyframes 等开源库,通过 AE 插件,将在 AE 中设计的动效自动导出为前端可用的动效文件,前端只需要在项目中打入对应的开源库,就可以免去对接交流的苦恼。

虽然看上去十分简洁美好,但是这种方案的应用场景是有限的,仅适合应用在纯动效元素(例如动态 ICON),无法用于 UI 的界面元素。对 AE 的效果支持也有限,并不是有了库就能为所欲为。

但总的来说,自动导出类方案可以在纯动态元素的场景下大大提升工作效率,产品性能。相比 Gif 或者帧序列,导出的 json 文件容量小,在端上显示质量高。

2. 可交互类

除了依赖于 AE 传统工具的解决方案,也有更多直接另起炉灶的设计工具。目前应用较广的包括 Principle、Flinto、Framer、Origami 等等。相比传统工具,这些新的工具无一例外加入了可交互的特性,让

您可能想查找下面的文章:

  • 如何做好微交互,增加产品魅力值?
  • 腾讯高级设计师:交互知识树系列之平台规范
  • 通过这篇文章,帮你彻底搞懂微交互
  • 这些小小的改变,能够让UI动效更上一层楼
  • 用一篇文章,帮你掌握基础实用的动效技能
  • 超全面总结!有可以提升用户设计体验的方法?
  • 看似花哨的UI概念动效,并不只是为了耍酷而存在
  • 偷偷问你一句:你觉得今年有机会涨薪吗?
  • 最全最好用的动效落地方法,都帮你总结好了(下)
  • 最全最好用的动效落地方法,都帮你总结好了(上)

相关文章

  • 2017-08-06如何去掉超链接下划线用三个简单的实例来说明
  • 2018-08-23如何输出一份专业优秀的交互文档?
  • 2018-08-23腾讯干货!虚拟To B支付设计研究之海外研究篇
  • 2017-08-06网站产品设计参考的几条原则
  • 2018-08-23交互进阶!如何扫除交互设计路上的3大障碍?
  • 2018-08-23已然成熟的卡片式设计,遵循着怎样的设计规则?
  • 2018-08-23平面设计中,如何通过“抄袭”优秀的作品成为高手?
  • 2018-08-23超实用!UX团队如何给设计原则做优先级排序?
  • 2018-08-23为什么我们都应该学会组件化设计思维?
  • 2017-08-06通常CSS错误及解决办法技巧

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 最新18个绿色风格网页设计作品欣赏收集
    • JavaScript利用URL向后台传入中文参数乱码问题解决之道
    • 编制网站首页的基本原则
    • 亲历经验!没有学位和工作经验要怎么找到UX设计的工作?
    • 为网站设置icon图标用于显示在浏览器标签页最左侧
    • 毕业生来收!国内顶级设计大厂的春招流程+经验总结
    • 下拉菜单和滑动菜单设计实例
    • 网易设计师:B端产品常用Web 列表设计模式总结
    • 你知道吗?腾讯换了Logo,还有了一套新字体
    • 如何画好一张描边插画?来看这份超全面的总结!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有