想做动效,可是你的需求写清楚了么?

精美的动画对于提升产品体验有很大帮助,如促进用户理解功能,缓解用户情绪,调动用户积极心理,为产品提供亮点等等。诸如此类的文章相信各位已经看过不少了,不少人已经开始越来越重视动效在产品中的应用了,还没有看过的同学不用急,谷歌官方的动效指南讲解得很详细,建议只看这个就够了,配合一些动画理解起来更容易。说明:

1.优化直播间分享面板,增加特效

2.当用户点击分享按钮时(*包括传统直播间主播面板的分享按钮和上方分享按钮,手机直播间的分享按钮*),从下方弹出分享面板,逐个弹出分享icon,并淡入显示分享奖励。

3.用户关闭分享面板时,分享icon从右到左依次下落淡化消失
相关参数:

1.分享面板减速弹出,运动时间225ms
2.分享icon从左到右依次弹出,运动时间225ms。带有奖励图标的,当对应分享icon弹出后,分享图标淡入显示(时间225ms),第二个图标比第一个迟100ms开始运动

eg:如图第一个为qq图标,当用户点击分享按钮,分享面板弹出后,qq图标开始弹出(时间225ms),100ms后第二个图标(qq空间)弹出,当qq图标完全弹出时,淡入显示分享奖励图标,时间225ms。
3.分享icon从右往左依次收回,分享面板收回,所有运动的时间减少30毫秒,如分享面板收回时间195ms,分享icon收回时间195ms。

andorid端动画曲线采用系统自带:AccelerateDecelerateInterpolator(在动画开始与结束的地方速率改变比较慢,在中间的时候加速)

iOS端动画采用系统自带:kCAMediaTimingFunctionEaseInEaseOut (在动画开始和结束的时候速度稍慢些)
具体效果可参考附件视频


精美的动画对于提升产品体验有很大帮助,如促进用户理解功能,缓解用户情绪,调动用户积极心理,为产品提供亮点等等。诸如此类的文章相信各位已经看过不少了,不少人已经开始越来越重视动效在产品中的应用了,还没有看过的同学不用急,谷歌官方的动效指南讲解得很详细,建议只看这个就够了,配合一些动画理解起来更容易。

想做动效,可是你的需求写清楚了么?

你已经有了大致的想法,那么怎么让研发哥哥们实现呢?demo又改怎么做呢?可别说让研发下一个app照着做。

一、工具的选取

目前的动效设计工具非常多,建议使用主流的工具,不仅教程多,后期更新也更方便。我用过主流的有以下几种,各有不同,需要针对彼此的优缺点使用。

1. flinto

这个比较适合做页面跳转,比如从点击一个按钮从一个页面跳转到另一个页面,实际项目中很少用,比较适合一些小项目,上手比较容易。

2. principle

相当于一个轻量级的AE,调节动画非常方面,同步sketch使用,页面跳转或者单页面小元素动画都可以实现,缺点在于复杂的动画难以实现,上手比较容易,可以同步手机演示。

3. origami studio

上手稍微有点门槛,实现动画的方式是节点动画,facebook推出的,前身为quartz composer 可以将动画导出为android和iOS的代码,需要引入的facebook的包,后续推出的origami studio中就不能再导出代码了,另外使用origami studio 做的弹性动画还需要接入pop引擎。综合来说,可以方便地实现一些更复杂的动画,如粘性,弹性,缓动等,不太适合页面跳转。

4. AE

可以是动效设计中的大杀器,你想要的特效都可以做出来,配合一些插件可以做出相当惊艳的效果,缺点就是上手难度大,而且做出的动画不利于交互。最近airbnb推出的lottie可以将AE做的动画转为代码,有兴趣的同学可以保持关注。

对于动效软件的选择,看个人的爱好了,新手比较推荐flinto和principle。

二、设计时的注意点

别以为demo做好了就结束了,接下来才是最麻烦的一步,如何让研发哥哥们实现你的动效。你可别拿着demo就直接丢给研发哥哥了,运动时间,淡化的百分比,运动的形式,这些可别让研发看着你的demo猜。

在写动效需求文档的时候,有这么几个注意点:

1. 运动模式

虽然研发会更喜欢匀速直线运动(毕竟做起来简单),但是让人愉悦的动效应该是模拟现实的,会有对应的减速和加速运动,这一点参考谷歌的动效指南就好,使用系统自带的参数就好,不要再去调整加速曲线了。

想做动效,可是你的需求写清楚了么?

2. 运动时间

要注意研发的单位一般是毫秒,所以你就尽量别写0.03秒这种了。

想做动效,可是你的需求写清楚了么?

3. 动画的实现类

这里就要说到代码层了,不能理解的没关系,看看就好。

iOS 的动画可以被分为两大类:

  1. 系统提供的关键帧动画实现方式:用户指定关键信息,系统实现动画过程,对用户而言操作起来会简单些。
  2. 逐帧动画实现方式:周期性的调用绘制方法,绘制每帧的动画对象。系统操作方法简单,但用户操作的工作量就会大一些。著名的 facebook 的pop动画框架,就是使用CADisplayLink这种逐帧绘制的方式实现的。

如果绘制过程过于复杂,不能在屏幕刷新一帧的时间内完成,可以考虑改为每隔一帧绘制,相当于是 30 FPS的刷新率。不然可能会使动画不连贯,有卡顿感。

采用关键帧的方式来实现动画,要讲的内容相对逐帧的方式就多的多了。

动画过程实际是一个时间的函数,横坐标是时间的变化值,纵坐标是动画属性的变化量。那么我们就可以在一个直角坐标系中,通过作图来画出这个函数。比如匀速运动的图形,就是一条通过原点的直线。

所以这个类的功能就是画出一条曲线,来表示时间和属性变化之间的关系。而画图的方法,是使用的是画贝叶斯曲线的方法。

系统提供了几个常用的函数,比如kCAMediaTimingFunctionLinear就是匀速运动;kCAMediaTimingFunctionEaseInEaseOut就是一般系统动画的默认值,渐入渐出,即在动画开始和结束的时候速度稍慢些。

想做动效,可是你的需求写清楚了么?

Android的动画类

Android:interpolator

Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。

android中的文档内容如下:

想做动效,可是你的需求写清楚了么?

  • AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候加速
  • AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
  • AnticipateInterpolator:开始的时候向后然后向前甩
  • AnticipateOvershootInterpolator:开始的时候向后然后向前甩一定值后返回最后的值
  • BounceInterpolator:动画结束的时候弹起
  • CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
  • DecelerateInterpolator:在动画开始的地方快然后慢
  • LinearInterpolator:以常量速率改变
  • OvershootInterpolator:向前甩一定值后再回到原来位置

如果android定义的interpolators不符合你的效果也可以自定义interpolators

三、具体范例

想做动效,可是你的需求写清楚了么?

如图,一个点击分享按钮后,各个分享图标依次减速入场的动画的需求如下

说明:
1.优化直播间分享面板,增加特效
2.当用户点击分享按钮时(*包括传统直播间主播面板的分享按钮和上方分享按钮,手机直播间的分享按钮*),从下方弹出分享面板,逐个弹出分享icon,并淡入显示分享奖励。
3.用户关闭分享面板时,分享icon从右到左依次下落淡化消失

相关参数:
1.分享面板减速弹出,运动时间225ms

2.分享icon从左到右依次弹出,运动时间225ms。带有奖励图标的,当对应分享icon弹出后,分享图标淡入显示(时间225ms),第二个图标比第一个迟100ms开始运动
eg:如图第一个为qq图标,当用户点击分享按钮,分享面板弹出后,qq图标开始弹出(时间225ms),100ms后第二个图标(qq空间)弹出,当qq图标完全弹出时,淡入显示分享奖励图标,时间225ms。

3.分享icon从右往左依次收回,分享面板收回,所有运动的时间减少30毫秒,如分享面板收回时间195ms,分享icon收回时间195ms。
andorid端动画曲线采用系统自带:AccelerateDecelerateInterpolator(在动画开始与结束的地方速率改变比较慢,在中间的时候加速)
iOS端动画采用系统自带:kCAMediaTimingFunctionEaseInEaseOut (在动画开始和结束的时候速度稍慢些)

具体效果可参考附件视频

四、Android和iOS可能的区别

1.在研发哥哥写完代码后,检查的时候你会发现andorid似乎比iOS卡了那么一点点,这也是受很多一些因素影响,如果追求体验,可以尝试加快20ms。

2.一些动效,本身就是系统自带的,如果不清楚,建议多阅读官方文档,或者设计前多请教研发吧。

也是学习动效没多久,如果文章中哪里写的不对,欢迎各位指出,共同讨论。

 

本文由 @Placeless 原创发布于人人都是产品经理。未经许可,禁止转载。

原创文章,作者:Catherine,如若转载,请注明出处:https://www.iamue.com/24247/

(0)
CatherineCatherine
上一篇 2017-05-08 02:15
下一篇 2017-05-08 04:10

相关推荐

  • 上海benhealth招聘实习生 150/天

    回复「简历」,送你优秀简历模板。岗位岗位实习生岗位职责参与公司移动端、小程序以及 PC 端 Web 产品的交互设计;与产品经理和开发人员共同完成产品开发。岗位要求1. 平面、视觉传达相关专业本科或以上学历;2. 熟悉 Axure 和 Sketch 等交互设计工具;3. 热衷网络文化,熟悉网络热点和主流 App;4. 良好的沟通学习能力,工作热情高,责任感强。薪资福利150 元/天工作地点上海简历投递投递邮箱:jun.pan@benhea...

    2018-04-08
  • 【干货】超全面!阿里设计师教你写好一份设计文档

    鸿影:一份设计文档 的 结构大概可以分成Background项目背景、Schedule排期、History版本历史记录、Information Architecture信息架构分析(包括Site Map、Experience Map、Flow等)、Framework框架设计、Wireframe线框图和Mockup视觉稿等。取决于实际项目的情况,部分内容可以省略,也可以 加入更多,比如Storyboard故事板,Prototype可交互原型等。

    2017-06-05
  • 《用户体验草图设计工具手册》丨NOTES

    当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放HappyPharrell Williams - Happy [From "Despicable Me 2"]本书讲了什么本书将指导你如何一步一步地用草图来表达你的设计理念,并介绍了多种草图方法。适合于所有设计行业的从业人员参考阅读,设计组织的领导者也可以参考阅读,包括设计师、可用性专家、人机交互界人士、产品经理人及商业高管等。作者什么来头Bill Buxton,微软首席用户体验...

    2018-05-08
  • Axure实例:即刻 app 产品需求文档

    当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放不了了之冰淇 - 分手快乐作者:T.zh来源:简书以下我的Axure原型截图:目录:1.概述1.1产品介绍1.2需求整理2.版本信息2.1修订历史2.2版本规划3.产品逻辑3.1产品信息图3.2产品结构图3.3部分业务流程图4.产品设计4.1全局说明4.2部分功能需求说明4.3部分交互设计1. 概述1.1 产品介绍1.1.1 文档属性1.1.2 产品综述1.2 需求整理1.2.1...

    2018-03-08
  • 帮你自学到底!非科班同学如何成为交互设计师?

    前言:最近一段时间,基本每天都有小伙伴在问,“我是来自非设计专业的学生,能否做交互设计”、“我想从事交互设计工作,是否需要读一个交互设计的硕士?”、“我工作一段时间了,不是设计行业,我能转行做交互设计么?…

    2015-04-27
  • 做产品也离不开哲学,你必须读一读:十个有趣的哲学故事

    来源:市场部 作者:佚名    【送茶叶的小故事】 张三一直喜欢喝20块钱的茶叶。新开茶店里每次张三去买茶叶,老板都送他半两好茶。 张三将好茶攒着待客。一天闲来无事泡壶好茶,竟喝上瘾。喝完免费的好茶,张…

    2014-09-21
  • 气定神闲的珍珠

    快快点击关注人言风华绝代太难得,然而,一个人终日沉浸在王者农药里碌碌无为,几时能被时光打磨成气定神闲的珍珠?但,珍珠是天然的馈赠,美,则是一种修炼。这世界上的一切精致动人,都是狠狠的被修理出来的。软了不行,硬了也不行,得软硬兼施。就像选专业一样。就像选择计算机软件技术专业一样。你想让自己活得精致,过得洒脱,不对自己狠一点,社会对你狠一点。自己的狠,是由内而外的质变。社会的狠,是苟且偷生。自己的狠,是内软外硬,由环境的硬塑造内心你的软,打...

    2018-03-15
  • 最少的输入,最丰富的输出:好的设计往往是隐形的

    “优秀的设计是隐形的。优秀的界面设计会细到亚原子级的微观字体(文字的精确定义)、看不见的宏观文字布局(文字的运用方式)、还有由交互设计和信息架构组成的隐形世界。最少的输入,最丰富的输出,界面设计师都致力于使用户花费最少的注意力。就像字体设计师与工程师那样,我们并不会试图找到完美的解决方案,但会寻找最佳的两全之策。”

    2017-06-04
  • 【笔记】设计师与产品经理该如何高效地进行团队协作?

    2017年5月14日,UXRen北京分舵在北辰泰岳大厦主办了《设计师与产品经理该如何高效地进行团队协作》的分享活动,本文基于分享嘉宾朱峰现场分享整理而成。   分享嘉宾: 朱峰(现任 “蓝湖”产品负责人&联合创始人…

    交互专题 2017-08-07
  • 两个交互设计鸿沟-评估与执行

    译者 / 熊猫小生校对 / 不器作者 /Kathryn Whitenton前言:通过每次交互,用户都必须克服理解系统当前状态和了解如何改变系统当前状态的双重挑战。设计师可以通过意识到这些鸿沟并用透明的概念模型来消除这些鸿沟,从而为他们提供支持。上周,我买了一款很棒的新蓝牙耳机 ; 但遗憾的是,我花了一个多小时才把它连接到我的电脑上。尽管耳机手册和电脑支持网站作出了承诺,但耳机并未自动与计算机连接。我在重新阅读说明书之后,检查了耳机和电脑...

    2018-03-28