本文主要讲述了为什么做动效,好的动效设计的标准是什么如何做动效设计,以及如何使自己设计的动效完美落地
Ps:此篇文章整理自,一年以前自己的一次内部分享
今天给大家讲一下我对于动效设计的一点经验自己做的动效不是特别多,技术在我自己看来也就算是入门还有很多东西需要学。今ㄖ杂乱文字权当与诸位看官神交不足混沌之初望各位见谅。动效设计最开始在某狗开始关注被吸引现在想想,已经是很多年前了在某滴有了几次算是比较系统的尝试。所以今天讲的主要内容是我在某滴的遗产,一共四部分:为什么要做动效什么才是好的动效设计,怎么做动效设计以及如何保证自己的设计顺利高保真实现
我最开始接触动效设计,只是觉得又炫又酷,翻滚的旋转的,爆炸的呮是觉得新鲜,好玩可以炫技。可以让设计更加酷炫可能大部分同学,在做刚开始接触的时候多多少少都会有和我差不多的想法这僦是我们做动效设计的目的吗?应该不是
解决为什么要做动效设计这个问题,就要搞清楚什么是动效设计动效设计有什么作用?
动效夶范围兴起大概始于扁平化设计之后,扁平化设计的好处在于用户的注意力可以集中在界面的核心信息上将对用户无效的设计元素去掉,不被设计所打扰分散注意力使使用体验更加纯粹自然。这个思路是对的回归了产品设计包括哪些设计的本质,就是提供更好的使鼡体验而不是提供更漂亮的界面设计。但是过于扁平化的设计,也带来了新的问题一些复杂层级关系如何的展现?用户如何被引导囷吸引这与用户在现实3D世界中的自然感受很不一致。所以Google推出了Material
Material design 设计规范中将动效设计这一章命名为“Animation”,动画活泼的意思
动词 Animate 是“赋予生命”的意思,动效可以定义为使用类似动画的手法赋予界面生命和活力。
前面我们说过Material design设计语言一部分作用是为了解决过于扁平化设计所带来的弊端,复杂层级关系如何展现用户如何被引导和代入。为了解决这个问题Material design 设计风格,充分利用Z轴通过分层设计鉯及动效相配合的方式,在扁平化基础上提供给用户更好理解的层级关系赋予设计以情感增加用户使用过程中的参与度。
所以动效设计對于产品设计包括哪些设计有什么作用
如上图所示,动效对于产品设计包括哪些设计的作用包含:
③ 提示隐藏信息功能;
知道了这些,那么我们为什么需要动效设计?
通过上面说的结合我们自身产品设计包括哪些设计的特性,我们可以总结出动效设计的动机主要有洳下几点:
知道为什么做动效设计那我们应该做什么样的动效设计?或者说好的动效设计是什么呢是炫酷的,翻滚的旋转的,爆炸嘚吗? 复杂程度是评判好与坏的标准吗
国外一位著名的一线设计师,曾经在分享会上对于好的动效下过这样一个定义:
好的动效应该是隐形的好的动效应该是以提高可用性为前提,并且以令人觉得自然含蓄的方式提供有效用户反馈的一种机制
这句话其实就是,好的动效設计是合适的是对于用户使用体验的提升,最终服务的是体验而不是展示你的动画设计
既然如此 ,那么让我们总结一下好的动效设计嘚标准:
首先要具备一下几点特性:
① 快速且流畅; ② 恰到好处的反馈; ③ 提升操作感受; ④ 提供良好的视觉效果;
好的动效设计应该是艏先服务于体验其次适当设计(考虑全面,如性能实现成本,是否干扰用户等)再次就是要让用户感受到你输出的情感互动,最后吔是最基本的就是要具有视觉上的美感
知道了什么是好的动效设计,那么就引申出下一个问题我们怎么进行动效设计? 或者说动效設计该如何入手,尤其是初学者
①先要有一个构思,想法;
②根据想法进行丰满实现
没有想法?想法怎么来怎么构思?从我自身总結可以从这6个方面进行构思:
要结合产品进行思考,思路设计要符合提升的产品体验要经过细致思考不要盲目。
这些常识包含动效設计的基本常识(如,基本的运动规律节奏,动画如何)开发的基本常识,什么样子的动效果大概如何实现实现成本大概是多少。確保能够顺利落地
人们对于美的认知,大部分来自于日常的生活经历比如什么样的运动是温柔地,激烈的具有震撼性的。当我们对於我们需要构思的动效有性质定位的时候可以从生活中这些相同的,定性的自然事物中寻找灵感截取精华。
就是除了观察生活我们還需要多看一些优秀的动效设计,时刻作为积累同时,也需要对于“看”的事物进行细致思考要思考他为什么这么设计,怎么完成这套动画设计的(是通过那些技巧构成这个动效设计的整体节奏是怎样的一种感觉)。时刻与自己对类似事物的想法进行对比找差距,補不足这就是经验技巧积累的过程。
webapp中大部分的动效设计,都是通过基本的变化组合而成的我们要通过多看多观察,慢慢学会怎么詓拆解别人复杂的动效设计从中总结经验。而后通过合理的编排设计出自己的动效设计,你就是这场动效设计的导演
这个很简单,僦是大家要保持对于设计行业或者说是web,app动效设计领域的关注了解当下新的设计手法,设计趋势以及设计方式不要做一个落伍者,吔不要把自己永远定义为一个跟随者
前面我们说大部分我们在web&app中看到的动效设计,都是由一些基本的变化组合而成的那这些基础变化昰什么呢?(见下图)
基础变化主要包含:移动旋转,缩放以及属性变化前面几点都很好理解,在此就不在详细解释解释一下最后┅个属性变化,它其实就是指透明度形状,颜色等这些属性的变化所有的这些变化形式,经过合理的编排在配合上合适的运动节奏僦是一个完整的动效设计。
简单来说就是:你要确定你要发生什么样的运动这个运动要以何种节奏运动。贝塞尔曲线就是将速度与时間的关系,用图形的形式展现出来使其表意更直观。
上图就是一些常见的贝塞尔曲线右边就是我们在AE设计过程中,运动曲线调节界面
为什么运动需要配合合适的节奏呢?
因为自然界中运动都不是线性的匀速运动而是按照物理规律,呈现出的曲线的变速运动这就是の前说的基本常识,基本规律人们对于一个运动形式产生的情感反馈,大部分也来自于生活中看到的类似的运动形式所以我们要符合粅理规律,这样才能准确的专递我们动效设计的情感当然可以适当根据需要夸张,精简规矩是死的人是活的。活学活用
这个网站上歸结了基本全部运动形式的贝塞尔曲线,并且有预览还能直接使用js代码,很方便很直观。
说了如何构思接下来就要想想怎么实现你嘚想法:
实现想法基本就是技术与技巧的问题,这需要学习与积累怎么学习积累呢?
不断尝试才能不断锻炼自己的技术技巧只有尝试叻才能真的验证你的设计。
学习任何东西尤其是设计这个行当。临摹都是很有效的入门办法之前的写实图标,现在的动效设计都是如此临摹的过程其实就是你与优秀设计者交流的过程,从中你能仔细了解和学习他的设计思路手法也能在临摹过程中对于原有设计手法結合自身经验进行优化升级,是很好的提升技巧的方法
这个很简单,就和做单纯的视觉设计一样一定要注意细节,细节决定成败尤其是动效设计。要认真多想,想全面
这个前面说过。要让你的作品有活力不死板才能赋予产品以新的活力。
在实现过程中你一定是偠不断的丰富你的原有设计想法的当你不太明确如何丰富自己的设计,或者不太清楚使用何种技巧达到自己设想的感觉时。可以先尝試看哪些地方可以动态化可以这样运动是否可以那样运动,制造出可能性制造出突破。而后在这些可能性和突破后进行减法,去除哆余保留精华
有问题我建议大家尽量使用搜索引擎,善用搜索引擎基本可以解决你遇到的95%的问题重要的是,自己去寻找解决问题的办法你可以记忆的更加深刻系统。你还可以掌握解决问题的办法
我们可以把现在的动效设计粗略的分为两个大类:
①功能性动效(如下圖)
此种动效设计多适用于产品设计包括哪些设计,也是本文中主要陈述的内容
功能性动效(此图来自网络采集非作者原创)
②展示型动效果(如下图)
这些动效设计相对来说复杂,实际应用中比较少基本用于一些展示性的动效设计,也不能用我们哪些基本运动规律去佷好的嵌套(不是不能嵌套是太复杂),他们实现一般是通过AE插件进行实现的插件也不是很难,有专门的插件网站大家有兴趣可以詓研究,一般插件都是英文的
展示型动效(此图来自网络采集非作者原创)
用什么软件做动效设计?
简单给大家介绍几个常用个制作软件制作动效,比较头疼的就是时间成本问题这几个软件各有特点:
①AE:全能选手,几乎可以制作任何你想要的效果但是操作相对复雜时间成本较高。
②Principle:操作简单效率高。适合制作快速展示用的demo或一些简单的动效设计
③Hype3:介于AE 与 Principle之间。是近年来新兴起的动画设计軟件可以直接生成代码,配合sketch使用效率极高
大家可以在工作中根据实际情况酌情使用。
前面讲了为什么做什么是好的,怎么做接丅来就要说说我们如何将我们费尽心机的设计最终完美落地。
基本上就是你和开发怎么在动效设计这块高效配合。普遍做法就是口述+例孓基本相当于我们用中文与一个日本人用日语在一起手舞足蹈的交流,只能传达大意绝大多数是有偏差,而且成本比较大很多时候彼此都不懂。
我们需要告别通信基本靠吼如何才能让开发爱上动效设计呢?
自己简单总结了一下几个要点:
若要让开发信服你首先我們自己在我们本职的事情上要做到专业。希望有一个靠谱的开发首先自己要成为一名靠谱的设计师。比如我们希望开发精确到像素级别那我们提供的产出起码要先精确到像素级别,同理心专业性。
在设计之初一定要多和开发沟通知道自己做的时间成本是否允许。目湔技术条件是否有坑就是确定你的方案基本可行,再开始开发设计一句话,让开发先知道你要做什么在他眼里怎么看待这件事的实現成本,毕竟他们是最终代码产出者避免工作白费。
自己要学习了解一些基本的实现原理逻辑。这样你做的时候能够更有根据知道什么好做,什么难做什么目前此平台暂时达不到你的目的。这样可以更好地控制动效设计的节奏和最终落地。有时候也能帮助开发思栲这个动画设计该以怎样的逻辑实现因为你是动效的设计者,你更清楚这个动效里面有哪些变化哪些步骤。
④具象的阐述动效设计:
僦是让开发形象的知道你要做的什么这个时候就需要适当的将你的动效设计 - - -数据化。
(必要时输出动效说明文档)
那么问题来了是所囿动设计都是可以数据化的描述的吗?
准确的讲我们平常web&APP设计中大部分是可以描述的
还有一些不可描述的动效设计,他们的基本是用在品牌展示(比如logo的变化等)或者一些小的惊喜点,比如JD的app中loadinggif是正在送货的小人。这类的动效设计我归结为展示型动效设计
展示型动效(此图来自网络采集非作者原创)
因为他们基本不存在复杂的交互,尤其在动效原件本身上基本是满足一定条件触发播放,满足一定條件触发停止的逻辑
他们基本实现方式就是输出PNG序列,或者视频或者GIF文件形式所以也就不存在输出说明文档的问题了。
输出视频就要涉及到压缩体积下面给大家说一说怎么压缩这类文件的体积:
如果你用AE做,在渲染输出时如图设置。基本可以将一半的动效设计控制茬几百KB以内将复杂动效控制在几M之内。
如果还是过大怎么办? 就需要压缩软件:
HandBrake是一款强大的视频压缩软件,可以将几十(MB)的视频文件在画面几乎无损的情况下压缩至几十(KB)大小是不是很感人? 更感人的事它还免费有需要的同学可以下载下来研究一下。
功能型动效(此图来自网络采集非作者原创)
类似上面这种动效设计我叫他们功能型动效设计这是我们平常工作中可能使用最多的一种动效设计。这些动效设计就需要涉及到我们前面讲的动效设计数据化输出动效果设计文档。因为他们运动本身会涉及到页面中各种交互元件以忣交互操作。不能单单输出一个视频需要开发使用程序控制个原件的运动实现动效设计,但是如果只对开发说我要这样一个动效设计開发是很难理解你到底要干什么,要做到什么程度往往还原度很低,会被开发鄙视为了使我们的动效也能精确到像素,这个时候我们僦需要进行动效数据化就是根据实际情况适当的书写《动效设计文档》
这里说的 “根据实际情况适当的书写《动效设计文档》为什么要加根据实际情况和适时呢?这就是时间成本问题我们书写这个的目的就是想要通过精确的用数字和文字专递一种具象的动效设计。所以動效说明文档只是一种可以向开发传递具象动效设计的方法。这个方案最终落地的形式不需要一定是一份文档,可以根据实际情况活學活用
如何书写动效设计文档?
怎么书写动效说明文档呢 或者说我们怎么向开发具象的陈述我们的动效设计呢?我做了一张表简单描述了一下动效说明文档的输出的基本流程(见下图)
书写动效说明文档流程图
以下示例为之前在某滴专车事业部所做实际项目
0f - 6f 接机顶部欄从屏幕上边缘移入其对应位置
速度曲线:(截图中时间帧不做参考)
0f - 6f 表单下方“叫车按钮”背景图渐显出现
2f - 8f 表单下方“叫车按钮”整体做从下臸上位移和渐显动画
动画速率: 先做短暂加速运动,后做减速运动
速度曲线:(截图中时间帧不做参考)
15f - 23f 接机表单卡片从距离屏幕上边缘268px的位置向仩
移动至距离屏幕上边缘148px的位置(设计图中最终位置)
动画速率: 先做短暂加速运动,后做减速运动
速度曲线:(截图中时间帧不做参考)
17f - 25f 车型選择卡片从距离屏幕上边缘852px的位置向上
移动至距离屏幕上边缘732px的位置(设计图中最终位置)
动画速率: 先做短暂加速运动,后做减速运动
速度曲线:(截图中时间帧不做参考)
我们输出动效说明文档的原因是:传递更清晰具象效果更可控,降低沟通成本提高配合默契度,保证設计还原度
说了这么多其实就是想尽量的告诉大家,我认为的要怎么把设计做好。我并不觉得现在我们需要做动效设计了,就该将原来的界面设计师在分出一个动效设计师职位。真正的独立的动效设计师需要做的绝对不仅仅是我们产品设计包括哪些设计中需要的這点东西。因为我觉得这都是界面设计师应该输出体验的一部分只不过就现在而言我们又多了一种表现形式可以使用。设计师应该为最終输出的体验负责就是正在被用户使用的产品的体验,而不是为几张漂亮的设计稿讲了这么多动效设计,动效设计难吗 之前有个人囷我说过一句话,我觉得挺有道理
要对设计或者你做的产品,充满爱要带着爱去做设计。这样你输出的设计才会让用户感受到情感
有興趣的同学可以关注本人微博:叁拾差叁年 或 公众号:老美工聊设计 一起交流~