链接
欢迎大家访问我的个人网站四度空间
Fuse?
很多时候,设计师设计一个特效动画出来,用静态的UE是很难向开发者描述动效的具体样式的,于是需要借助一些UX交互设计工具。
当前用的较多的UX交互设计工具是Fuse软件了,Fuse软件要求设计师懂一些Html语言和JS语言语言,Html写UI,JS跑逻辑,大大提高沟通效率,同时会省却开发者很多时间,因为在设计者写好动画特效之后,直接就可以通过Fuse软件导出iOS或Android原型,直接发布都可以,就拿iOS举例,导出的Xcode工程,确实运行没有问题,但是内存超大,而且显得特别冗余,因此如果把Fuse导出的这个工程直接融合进项目之中实在不划算。
开发者自己来写动画特效唯一的问题就是如何保证开发者自己写的动画特效跟设计师想要的动画特效是完全一致的,一个动画就主要两方面,一是UI二是特效,UI自然不在话下,只要参数一致,肯定是满足设计者要求的,关键是特效。这就不得不引入一个影响动画特效的关键因素缓动函数。
缓动函数,顾名思义,就是决定动画效果运动快慢的函数。详细说就是定义不同曲线的数据公式,描述每一帧动画回调时需要改变的图形参数属性的幅度,从而达到均匀、先快后慢、先慢后快,甚至先超出起始值和结束值再慢慢恢复的各种动画特效。
因为大多数动画特效都是模仿现实生活中的情形,时而加速时而减速。动画特效直接受到缓动函数的影响,自然可以通过设置缓动函数进而实现不同的动画效果。设计师使用Fuse软件设计出动画特效时,里面必不可少的步骤就是设置UI动画的缓动函数类型,当然Css的缓动函数名称跟Java或OC的缓动函数名称有些不同,看图就一目了然,只要知道设计师使用的缓动函数,找到相应的坐标图,就顺势找出了OC中对应的缓动函数名称。
典型的线性kCAMediaTimingFunctionLinear、渐快kCAMediaTimingFunctionEaseIn、渐慢kCAMediaTimingFunctionEaseOut、先快后慢kCAMediaTimingFunctionEaseInEaseOut都是动画本身就自带的函数类型,这也是最简单的动画特效。不是我们重点讨论的内容,我们重点讨论设计师设计的复杂缓动函数构建的动画特效。