近年来,越来越多的自带绚丽动效的H5小游戏如雨后春笋一般冒出来,而也正是这些炫酷的交互动效,才能够成功地吸引住用户的眼球,让用户为此驻足。

而「动效制作」也伴随着H5的大热而火遍前端圈及设计界,下面就让型科为大家分享在H5小游戏里常用的动效制作套路。

首先给大家贴上几个动效例子,上面这些动效都是采用我们非常熟悉的gif动画制作出来的动效,而H5动效制作的第一套路,就是GIF了。

动效制作手法1:GIF

GIF图片擅长于制作细节的小动画,位图,优势在于 “体型”很小,可压缩,制作成本低,以图片的形态适用于各种操作系统,无兼容性的后顾之忧。制作GIF动画的方式有很多,例如我们所熟悉的Photoshop时间轴,或是利用Flash,AE将动画导出存成GIF格式等等。

GIF动画最常在H5动效里当担loading导航条,热门小标签等元素,要把控图片大小和精度之间的平衡,所以它一般用于制作小细节的动画。

H5页面承载GIF图片的方式相对以下要介绍的其他方法,是最省成本,最为简便的。只需要以背景图片/内容图片的形式在页面上进行引用即可。

说完gif,接下来来说下他的兄弟:逐帧动画

动效制作手法2:逐帧动画

逐帧动画即是利用一张等间距的动画分解逐帧图片,由js脚本模拟编写或是使用css3新属性step()制作而成。step()在移动端的兼容性是很好的,但使用比较小众。逐帧动画和GIF动画的差别在于,脚本可以控制逐帧动画的快慢和动作的暂停,而GIF动画无法在后期通过代码进行动画速率及透明度的修改。

做一个逐帧动画必不可缺的就是需要一张等间距的“动画分解逐帧图片.png”,再通过JavaScript脚本CSS3 animation的过度函数step() 来控制图片的background-position,二者结合就可以快速输出一个逐帧动画啦。

从以往的经验看GIF动画或是逐帧动画,我们往往认为它们只适合做一些小细节的动画。其实二者也可以承载一些很独特的动画效果!如以下这个例子,这是陌陌的一个宣传h5页面,它便是由逐帧分解图+JavaScript脚本模拟逐帧动画 拼合而成的。

动效制作手法3:CSS3

CSS3应该是动画家族里绝对不会被遗忘的一名成员。这里我们定义它为擅长于平面层的动画。CSS3的缺陷应该在于它的部分属性还没有被浏览器有好的支持。先来看个例子,来自阿迪达斯的H5运营页《罗斯-绝不凋谢》:


这炫酷到没朋友的动画效果其实主要就是依靠CSS3编写完成的。

这里给大家介绍一下CSS3的动画三大属性:Transform 变形,Transition 过渡,和Animation 动画。

Transform 变形:拥有 rotate 旋转 skew 扭曲 scale 缩放 translate 移动 matrix 矩阵变形五大特效,罗斯的例子中,便是对充分结合了这几个变化特效的产物。

Transition 过渡:拥有修改执行变换的属性,时长,速率和延迟时间的能力,大家都很熟悉的贝塞尔曲线,也是归属于transition的设定之下的。

Animation 动画:若将Transform解释为动作,Transition解释为过渡,那么Animation则是连续的几个动作,即动画。Animation可以我们设定keyframes的值,让元素在一段时间内完成多个动作。

然而我们如何高质高效把动画设计传达给工程师呢?

这里来个小小的Tips:建议使用"案例Demo或者分镜头脚本+动画属性分解表+素材切图"的套装

以下图为例:这是一个点击反馈的小动画,在无法提供Demo的时候,我们可以使用"动画属性分解表"的方式。动画属性分解表可以让工程师根据表格内填写的数值进行动画的编写,会比凭空的和工程师进行交流传达,来的更精准一些。

动画属性分解表示例:

动效制作手法4:SVG

SVG,也是动效制作中不可忽略的一大热门方法,我们定义它为擅长于线条的动画,弊端是:IE8,Android4.2及以下支持不好。看下图几个例子,涉及到这种沿着元素描边的动画,一般都是出自SVG之手啦,当然,它也可以实现一些复杂的动画,类似这个表情图片,不过实现成本是不太划算的。

知识普及:SVG,可缩放矢量图形(Scalable Vector Graphics), 是被存成了 XML 格式的图像,它有一些特别的地方:

  • 可被多种工具读取和修改(比如记事本)
  • 尺寸更小,可压缩性更强
  • 矢量
  • 纯粹的 XML

一张SVG图,其实是由一堆的定位锚点连线生成的。所以它可以很方便的存为文档格式。而页面中的引用,也是简单的将此文本引入即可。这里必须要注意的点是:如果你想制作一个SVG动画,请一定要使用AI工具绘制输出矢量图给到工程师同学哦。

动效制作手法5:Canvas

HTML5 的新元素 <canvas>,类似画板,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。本身是没有绘图能力的。所有的绘制工作必须依赖 JavaScript 完成。我们定义它为擅长于绘画的动画。如下图,绘制这样一个大量元素下落的动画效果,就是Canvas所擅长的。

Canvas可以算是SVG的堂兄弟,大部分的图表动画,都是由Canvas或是SVG制作而成的,二者的动画能力相似但也有以下这些区别:

  • canvas是画框,有自己固定的高宽,svg是不依赖分辨率的矢量,可以任意放大缩小。
  • canvas能以.jpg的格式保存图像,svg是文本的格式保存图像
  • canvas绘制的图像不占DOM,而svg的每个图像都是1个DOM元素
  • canvas适合图像密集型的动画,而svg不适合大量使用,例如制作飘雪等
  • canvas完全依赖脚本绘制作,而svg可直接使用矢量转存生成。

动效制作手法6:Flash->Canvas

除去上面几种常见的手法,Flash转Canvas的方法也是今年特别火爆的一种形式。既然提到曾经辉煌的Flash,那产出物必须离不开炫酷这个形容词:通过Flash cc制作复杂又精细的动画,导成Canvas文件,动画中的交互操作,依赖Create.js的脚步库完成。

以下引用咋们IEG小伙伴的例子,来让大家一探此方法的魔力所在。

动效制作手法7:video

用视频输出非常特别的动效。关于video的魅力我们用吴亦凡H5页面的例子,相信大家瞬间就可以明白了吧^^。

动效制作手法8:JavaScript

其实,只要是涉及到交互反馈的动画,小至滚屏翻页,大到重力感应等都需要js进行处理脚步的编写。也就是说,所有的动画特效都离不开Javascript同学的支持。市面上有很多特别的Javascript脚本库,例如three.js,细细运用,就可以做出非同凡响的动画效果。

最后我们再以一个简单的表格来汇总这H5动效常见的制作手法,希望读完本文的小伙伴们都可以在下次遇见新动画效果时,第一时间挖掘出它背后的制作原理,好好运用这8大手法,人人都是优秀的动效设计师。(表格中所阐述的性能损耗和实现成本仅作参考,具体动画效果还需要具体分析,才可得知到底使用哪种方式是最适合的。)

盘点在H5小游戏里常用的动效制作套路相关推荐

  1. 你踩过几个?盘点微信H5小游戏开发中的那些坑

    眼下小游戏特别火,不少团队也陆续启动了微信小游戏的项目,并于立项前期进行技术预研究.但从微信官方文档看 , 却能发现不少坑. 一.运行环境的坑 首先微信小游戏是一个不同于浏览器的 JavaScript ...

  2. 你踩过几个?盘点微信H5小游戏开发中的那些坑 1

    眼下小游戏特别火,不少团队也陆续启动了微信小游戏的项目,并于立项前期进行技术预研究.但从微信官方文档看 , 却能发现不少坑. 一.运行环境的坑 首先微信小游戏是一个不同于浏览器的 JavaScript ...

  3. html5 游戏制作软件,制作h5小游戏的免费软件有哪些?

    刚刚过去的618,过段时间要来临的双十一.这些个节日无一不是商家做营销的噱头,各大电商平台也不会放过这么多机会来做商品宣传的.既然人家都要做活动了,不捧场怎么能行,我们要一起做一个买买买的精致猪猪女孩 ...

  4. H5小游戏 【篇一】 组词游戏

    H5小游戏 篇一 组词游戏 项目功能简介 词库功能,项目文件里配有csv格式的中文常用词组词库,每次随机抽取词语进行游戏 匹配消除功能,自动在词库中匹配选中词语并进行消除 选中动画以及消除动画,均由s ...

  5. html5制作端午节游戏,意派Epub360怎么制作一个端午节H5小游戏页面?

    六月已经过了三分之一,"粽子节"也马上要到了,每当这时候,又到新媒体运营人和设计师头秃的时刻,在传统的节日里,如何把传统的节日使用互联网元素表现,让更多的年轻人能够参与进来,H5这 ...

  6. “倔驴”一个h5小游戏的实现和思考(码易直播)——总结与整理

    3月23日晚上8点半(中国队火拼韩国的时候),做了一期直播分享.15年做的一个小游戏,把核心代码拿出来,现场讲写了一遍,结果后面翻车了,写错了两个地方,导致运行效果有点问题,直播边说话边写代码还真不一 ...

  7. h5小游戏在线玩:万圣节互动游戏《逃离禁闭岛》通关完全攻略

    最近有好多玩家跟我私信留言,让TOM游戏小编快点分享下H5密室逃脱游戏<逃离禁闭岛>的攻略,小编通过整晚的努力终于玩通关了,说实话还是蛮烧脑的,让我体验了一次别样的穿越之旅,话不多说,这就 ...

  8. 吐槽laya:H5小游戏开发应该用什么引擎好?laya、cocos还是unity?

    我看有人推荐laya,放在H5小游戏的前三排名,这压根不靠谱. laya只能算个半成品,整体非常垃圾,如果是首次选择游戏引擎,至少转去cocos,实在选laya,那也没办法了. 下面说说laya有什么 ...

  9. html5制作端午节游戏,零代码怎么制作一个端午节H5小游戏页面?

    不光端午节,任何小游戏类型都可以轻松搞定! 六月已经过了三分之一,"粽子节"也马上要到了,每当这时候,又到新媒体运营人和设计师头秃的时刻,在传统的节日里,如何把传统的节日使用互联网 ...

最新文章

  1. 中国行政区划信息JS库china-location
  2. CentOS 6.3安装Nginx开启目录浏览、下载功能
  3. java并发中ExecutorService的使用
  4. 编写字符串比较函数strcmp .
  5. 加快信息化建设对地方发展的_加快设计师职业发展的9种方法
  6. 温故而知新 js 的错误处理机制
  7. 区块链 自私挖矿(selfish mining)是什么
  8. 你还发现了CSDN那些变化
  9. 操作系统COM组件的概念
  10. Ron Patton之《软件测试》书籍(原书第2版)书籍
  11. 探索肠道细菌的营养偏好
  12. java中的g1_G1GC 概念与性能调优
  13. lpk劫持方式粘滞键后门后门T00ls Lpk Sethc v3.0 正式版下载
  14. 对接支付宝App支付和网页支付接口详解
  15. 解决报错(Navigation cancelled from “/roleList“ to “/userlist“ with a new navigation.)_@jie
  16. Matlab 图像转极坐标系
  17. Oscar-实验过程记录
  18. Linux - ImageMagick 6.9.10-5安装配置
  19. 【推荐架构day5】今日头条算法的基本原理
  20. 计算机视觉面试宝典--深度学习机器学习基础篇(四)

热门文章

  1. 能帮我找一份桥架管线计算表格吗
  2. jqueryeasy ui 的 accordion 和 tabs控件
  3. python人脸特征提取_实现人脸识别、人脸68个特征点提取,或许这个 Python 库能帮到你!...
  4. 深入解析Android-SharedPreferences源码
  5. 五、创新知识-用创新超越竞争
  6. 同步十进制加法计数器74160芯片使用方法解析
  7. 实验静态路由3台主机+4台路由器实现互联互通
  8. 初中信息技术用计算机做科学实验报告,平潭综合实验区教育局关于做好2018年初中英语口语、信息技术、综合实践活动、物理、化学、生物实验技能考查工作的通知...
  9. python 绘制折线图 显示纵坐标值_python怎样用matplotlib画折线图对比图
  10. 2021计算机考研历程-深圳大学