人要多读书 發表於 2017-1-10 15:59:10

干货:移动app界面动效设计的全方位指南

<p>读完这篇文章,你可以知道动效的作用、设计原则、动效工具、制作方法、标注技巧等等,特别全面,强烈推荐收藏学习。</p>
<p>动效在用户体验设计中正变得越来越重要,那么动效能带来什么好处呢?</p>
<p><strong><font color="#ff0000">体现交互层级</font></strong></p>
<p>动态界面使人更容易理解交互层级关系,减轻了人们的认知负担</p>
<p><strong><font color="#ff0000">给予反馈</font></strong></p>
<p>给人感觉界面是活的,让体验流畅</p>
<p><strong><font color="#ff0000">弥补静态页面的表达不足</font></strong></p>
<p>在内容优先的设计趋势下,用户界面变的更加简洁。这将给用户带来操作上的盲目感;动效则可以在不打破界面美感的前提下,弥补认知的损失</p>
<p><strong><font color="#ff0000">原则</font></strong></p>
<p>设计是为了解决问题,动效设计作为设计的手段之一,能解决一些静态界面设计无法解决的问题。但是,它并不是万能的,动效要克制,过多、过慢或不适合的动效,只能让界面失去重点,让团队和用户怨声载道。</p>
<p>在实际项目中应用的动效,只有精准地对齐需求,才能使动效带来真正应有的价值。那么,如何评估一个动效是否有价值呢?</p>
<p>1. 动效是否必要</p>
<p>2. 动效是否带来体验提升</p>
<p>3. 动效开发的成本是否过高</p>
<p>如果都没有问题,送给工程师一个飞吻吧。</p>
<p><strong><font color="#ff0000">动效工具</font></strong></p>
<p><strong>Adobe After Effect</strong></p>
<p>视频特效软件,被普遍使用的动效和 MG 制作软件,功能强大,和其他 Adobe 软件无缝配合,可做的效果也是不限量的。</p>
<p><strong>Quartz Composer + Origami Studio</strong></p>
<p>Apple 的可视化编程软件,搭配 Facebook 的 Origami 可以非常好的模拟机器效果,做单页面的动效可以用它,Origami 还可以导出直接可实施的代码。</p>
<p><strong>Hype 3</strong></p>
<p>可交互的 Demo ,虽然是 HTML5 制作工具,但是做动效也算是一只[好猫]吧。</p>
<p>其他的还有原型工具 Framer、Pixate、Form 等和 QuartzCode、PaintCode 也都可以用来做动效。具体工作时候可以选用适合的来做,目前还没有一站式解决的软件出现。</p>
<p><strong><font color="#ff0000">数值化动效</font></strong></p>
<p>只谈制作动效,不谈实现都是耍流氓,动效设计师同样需要为动效标注。</p>
<p>常规的值包括:</p>
<p>属性:移动距离 旋转角度</p>
<p>时间:运动持续时间 延迟出现时间 重复时间</p>
<p>曲线Android:插值器曲线</p>
<p>iOS:运动曲线</p>
<p>自定义曲线</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943283.png" /></p>
<p align="center">△ 动效标注模版,包括常用动作、曲线、表格。 Sketch 格式,Sketch 的快速、矢量特性也非常适合进行动效标注</p>
<p><strong><font color="#ff0000">动效标注技巧</font></strong></p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943284.png" /></p>
<p>有些运动需要分解成多种值标注。比如 Material Design 里面的「重力运动」</p>
<p>设计师的思维是 Position 到 Position 的弧线运动,但实现时并没有运动轨迹的开发方式。</p>
<p>那么如何表述这个运动轨迹呢?</p>
<p><strong><font color="#ff0000">两种方法</font></strong></p>
<p><strong>时间错位</strong></p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943285.png" /></p>
<p align="center">△ 延迟单个值的时间(真实运动曲线为绿色虚线略有夸张)</p>
<p><strong>不同曲线</strong></p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943286.png" /></p>
<p align="center">△ 两个值持续时间相同,但应用的曲线不同</p>
<p><strong>曲线 / 插值器</strong></p>
<p>刚才提到了曲线是什么呢?</p>
<p>在 Android 系统内,调用系统内置曲线插值器,改变动画的播放速率,可以实现大部分动态速率的效果。</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943287.png" /></p>
<p align="center">△ 图为 Android 插值器</p>
<p><strong>自定义曲线</strong></p>
<p>插值器默认的速率无法完全符合需求时,还需要给它进行数值调整。</p>
<p>调整 Factor 的值,就可以快速改变速率:</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943288.png" /></p>
<p>当然,你也可以尝试使用自定义的去曲线,将曲线换算成二次贝塞尔曲线,可以直接用于开发。</p>
<p>如下图,为 cubic-bezier (.82, .25, .29, .78)</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943289.png" /></p>
<p align="center">△ Android 和 iOS 都支持二次贝塞尔和三次贝赛尔曲线。</p>
<p><strong>交互与动效</strong></p>
<p>动效和交互联系很紧密,这也要求动效是先于视觉考虑的。</p>
<p align="center"><img alt="" src="https://img.jbzj.com/file_images/article/201701/20170110154943290.png" /></p>
<p>如上图,在内容优先的设计中常用的共享元素样式,从交互层面就需要对动效有一定的规划,否则会遇到动效很牵强或视觉返工的情况。</p>
<p><strong><font color="#ff0000">动画与动效</font></strong></p>
<p>动效不同于动画,动效常发生在过场或操作之后,有趋向于表现更快的倾向。动画中看上去恰到好处的运动时间,直接套用在动效中应用会显得拖沓沉冗效率不高。显然,简单粗暴的把动画中的时间直接应用在动效中,是不合适的。</p>
<p>在 Material Design Motion 中,对动效时间有比较详细的定义,对各种设备的动画时间都有推荐,实际应用时还需要考虑元素变化的范围,给出合适的时间。</p>
<p>虽然 Android 动效已经支持 60fps 的速度,但是在实际应用中,有时运动不够平滑*确实存在,甚至为了达到理想效果,要同之前标注时间相差很大。这时,可能需要对部分标注时间进行修改,不过我一般会遵循一个原则:尽量保持时间之间的比例,倾向相信模拟中的时间。因为机器的个体差异导致的问题很难被量化。当然,解决这种问题,需要工程师和设计师的通力配合。</p>
<p><strong><font color="#ff0000">项目中的动效</font></strong></p>
<p>就好像工业设计师需要懂材料、平面设计师需要了解印刷知识,动效设计同样需要设计师具有「跨专业」的视野。</p>
<p>在 iOS 和 Android 上,系统其实已经帮你完成了不少工作,很多常见的、被经常使用的动效,可能已经有做好的「轮子」,这些「轮子」往往经过多次验证,效果和性能都说的过去,有些稍加改动就可以满足项目要求。</p>
<p>在实现这类动效的时候:</p>
<p>除非有信心实现的比已有的好,不然还是直接使用吧。</p>
<p>使用已有的「轮子」、将常用基础动效控件化,减少整个团队重复工作,提高效率,设计师和工程师也可以把精力用在能让项目更为出彩的地方。</p>
頁: [1]
查看完整版本: 干货:移动app界面动效设计的全方位指南