AE制作Json动画教程

2023-05-16

本文将从为什么要做动画,到动画实现方式,再到用AE+Bodymovin制作动画,结合实际案例行分享,希望给新手带来一些启发。

首先我们来聊聊,我们为什么要做动效?

1、突出产品某项功能

在APP中,我们经常遇到需要突出某个东西或者是新增某个东西,那我们可以通过动效形式,来吸用用户注意力,让用户产生好奇的欲望去点击发现更多。

图片来自-口碑APP

2、表达产品界面层级关系

让用户更直观的了解产品界面层级关系、空间关系、运动轨迹、使用方法等

图片来自-App Store

3、增加产品的趣味性和用户的舒适性

独特的动效形式,能体现品牌产品的个性,形成独有的品牌印象。有趣的动画效果,可以让用户心理产生亲合力,提升品牌好感。

图片来自-网易云音乐

再看看目前动效实现的方法有那些呢?

方法1:设计师标注+代码

设计师标注详细时间,变化属性,动效缓动等,通过开发工程师用代码实现。

方式2:做 Gif动画

Gif动画占用空间较大,线上效果中,容易出现卡顿的情况,而且需要为各种屏幕分辨率做适配,比较麻烦。

方式3:做帧动画

从实践中来看,使用帧动画占用空间比 Gif 还要大,而且也需要做各屏幕分辨率的适配,也无法按比例放大;

方式4:做视频动画

视频动画一般用户品牌宣传、概念表达居多,APP中设计元素比较轻量化,用视频占用空间比较大,不太适用。当然,特殊位置和特殊情况除外。

方式5:用Lottie制作动画

开发成本低,生成的Json文件比较小,而且兼容性比较好等特点,适用于各个元素动画制作。下面我们将详细介绍,用Lottie做动画相关知识。

Lottie 是什么?

Lottie是Airbnb开源的一个动画渲染库,同时支持Android、iOS、React Native平台。 Lottie 使用从 bodymovin(开源的 After Effects 插件)导出json文件数据动画,从动画制作到动画使用的整个工作流程如下:

1.设计师设计好效果,使用 After Effects制作动画。

2.用Bodymovin开源的 After Effects插件导出json文件。

3.把Json文件提供给各个端口的开发工程师进行嵌入运用即可。

Lottie 制作动画的优缺点如何?

优点:

1、动画实现成功率高:设计师的成果可以最大程度得到实现,试错成本也低了。

2、节省开发时间成本:设计师导出 json 文件后,扔给开发同学即可。原本要1天甚至更久的动画实现,现在只要1小时左右甚至更少时间。

3、支持服务端URL方式创建:可以通过服务端配置 json 文件,随时替换客户端的动画,不需要通过发版本就可以做到,让替换或者调整更灵活。

4、提高性能:可以替代原来需要使用帧图完成的动画,节省了客户端的空间和加载内存,提高运行速度。

5、可跨平台使用:iOS\ Android平台可以使用一套Jason文件,设计验收过程中节省两边调试时间,提高效率。

6、可手动设置参数:可控制进度、绑定手势、事件、可网络加载、动态控制播放速度等等

不足:

1、目前还有些功能属性不能实现。

2、对系统平台版本有限制,要求 iOS8 及以上,安卓 API14 及以上。

3、对设计师要求比较高,需要掌握After Effects,动画更加依赖设计师。

4、对于很复杂的设计图形,AE绘制矢量图形太复杂,用sketch或者ps设计输出切图后,再在AE中制作动画图片素材太大。

Lottie动画适合在哪些场景使用?

Lottie 作为一个动画渲染库,截止目前来看,它可以适用于以下APP场景:

·

启动动画:APP启动界面交互效果,logo动态效果

·

·

刷新动画:APP中刷新功能,利用 Lottie 可以做更多炫酷流畅的动态效果

·

·

加载动画:界面和界面之间切换时的加载效果

·

·

提示动画:APP界面中空白页的动态提示效果

·

·

按钮动画:APP底部ICON栏目点击变化效果

·

·

升级动画:典型场景是直播类APP的高级动画播放

·

·

转场动画:元素和界面之间转场切换效果

·

·

部分场景示例:

1、APP的启动页动画 (图片来自-京东金融)

2、Logo的启动动画(图片来自-链家)

3、页面刷新动画(图片来自-美团外卖)

4、加载动画(图片来自-美团外卖)

5、按钮的切换过渡动画(图片来自-京东)

如何安装Bodymovin插件?

下面就分步骤总结下Bodymovin的安装和使用

1.

安装After Effects CC2015以上版本,本文以After Effects CC2019为例:

2.

2、After Effects安装完成后,安装Bodymovin插件。

2.1 到Bodymovin的GitHub首页(地址:https://github.com/bodymovin/bodymovin)下载ZIP安装包。

2.2 打开解压文件夹,在“/build/extension”下找到“bodymovin.zxp”文件。

2.3 下载安装ZXP Installer(地址:http://aescripts.com/learn/zxp-installer/),打开软件,点击“File”>“Open”菜单项载入上述.zxp插件包,ZXP Installer会自动开始安装。安装完成后的软件主页面如下图所示,表示插件已成功安装。

3.打开AE,点击“编辑”>“首选项”>“常规”,选中“允许脚本写入文件和访问网络”,点击确定。

4.点击“窗口”>“扩展”>“Bodymovin”菜单项,就可以打开Bodymovin的界面使用插件了。

实际案例教程演示

我们先来看下整体效果(小提示:这里可以用ai或sketch等软件进行图形的设计,或者在ae上直接绘制也是可以的,不过我比较习惯用ai制作所以已ai为主要讲解对象)

文章教程以首页ICON效果制作为例子,让我们开始吧。

1、在ai里面把所需要的编辑对象设定基础尺寸还有进行图层细分,命好名称。

2、首先用导入ai源文件,选择合成保持图层大小,合成参数方面的按照自己的需求定义

3、选所需图层右击-创建-“从适量图层创建形状”(lottlie无法直识别ai直接导入路径)

4、创建形状后假如说有渐变颜色的话会出现颜色的丢失需要手动去调配还原颜色,然后就是根据自己的需求进行动效创作 ~ ~ ~

5、动效完成后我们就需要利用Bodymoyin(lottie插件)导出josn文件,首先用英文版的同学是没有问题的,但是有些像我这样用中文版的童鞋就会开始头痛了,你导出后发现你的渐变颜色识别不了,那就很尴尬了,那么怎么解决呢?请往下看。

打开需要编辑渐变颜色的图层-内容-渐变填充 1 右健重命名修改名称为Relleno de degradado 1,每个带渐变颜色图层都需要修改,最好按图层顺序来编写后面数字(Relleno de degradado 1)(Relleno de degradado 2)

6、图层命名结束后,我们就要启动真正意义上的导出,窗口-扩展-bodymovin,选择需要导出json合成,再选择导出地址就可以导出啦。

7、最终上线效果,欢迎下载小黄狗APP前来体验;如有什么建议,也欢迎小伙伴在底部留言,我们一起来交流。

动效预览

动效做完了,导出json文件后我们放到线上预览看看效果

https://www.lottiefiles.com/preview

动效编辑:https://editor.lottiefiles.com/

iOS下载预览:LottiePreview

最后把生成的动画Json文件和HTML效果演示提交给开发,进行沟通对接,设计同学的工作到此就结束啦。开发同学如不知道怎么运用的,可以到 https://github.com/airbnb/lottie-ios下载最新版本源码,其中自带了 Demo,可运行学习下就会啦。

总结以及建议

1、不是所有的动效 Lottie 都能实现,设计师在使用 After Effects 制作动画前,最好先预览Lottie官网目前能实现的效果,提前了解可以使用哪些特性制作动画,哪些属性是无法实现的。 Lottie支持的功能属性最新对照表:http://airbnb.io/lottie/#/supported-features

2、在做动效前,可以和开发人员沟通下,以那种方式实现比较方便快捷,效果又不错。如果是用lottie去做动效果,那提前和开发说好,开发人员也可以同步学习lottie如何运用json文件;另外就是做完后,需要提供哪些东西给开发,也可以提前沟通好,提高团队协作效率。

3、不管sketch文件还是AI的文件,导进AE前图层分好组,方便在AE里面做动效。

4、AE所有的文件放在一个文件夹里,保存源文件完整性便于后期修改。

5、导出JSON文件时,同时导出份HTML文件效果图,方便和开发工程师沟通确认效果。

 

作者:小黄狗UED

来源:站酷

链接地址:

AE制作Json动画教程|UI-网页|教程|小黄狗UED - 原创文章 - 站酷 (ZCOOL)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AE制作Json动画教程 的相关文章

  • 说说家乡的互联网-江西龙南

    刚好在CSDN查资料 xff0c 看到这个征文 xff0c 勾起年少回忆 xff0c 遂写下此文 2003年 xff0c 我刚上初一 xff0c 学校开设了微机课 xff0c 我第一次接触了互联网 十一 xff0c 二岁的孩子对新事物充满了
  • 关于springmvc拦截器不拦截jsp页面

    一 xff0c 拦截器的用法 编写拦截器类 继承HandlerInterceptorAdapter类并重写需要的方法 或实现HandlerInterceptor接口并实现所有方法在spring mvc xml 也就是springmvc的配置
  • docker内部运行systemctl命令失败问题

    一般会提示以下错误 Failed to get D Bus connection Operation not permitted 网上好多解决方式都是说要在docker run的时候加 privileged参数 xff0c 但是本人经过测试
  • 在jupyter notebook导入tensorflow出错 - No module named tensorflow

    环境 xff1a win10 43 anaconda 问题 xff1a 在运行Jupyter Noterbook中import tensorflow报错 解决方法 xff1a 先按照这边文章Win10 Tensorflow2安装 xff0c
  • 手把手教你用Hexo+(Coding/GitHub)搭建个人博客及绑定私有域名

    Hexo是一个开源的静态博客框架 xff0c 支持markdown文档 xff0c 应用起来很方便而且有丰富的主题模板可供选择 xff0c 是建立个性化的个人博客的不二之选 以下以Coding 43 hexo为例搭建个人博客 因为GitHu
  • python 读写文件 删除文件

    概述 xff1a 主要内容 python read write 删除文件写 xff1b 在 39 w 39 和 39 a 39 模式下 xff0c 如果你打开的文件不存在 xff0c 那么open 函数会自动帮你创建一个 1 写入和读取文件
  • 看完微信抢红包算法你就明白,为啥你不是手气最佳

    摘要 xff1a 今天我们就来分析一下抢红包的算法 xff0c 其中有一些是微信红包的算法 xff0c 看完你就知道手气最佳是如何产生的啦 本文分享自华为云社区 为啥春节抢红包总不是手气最佳 xff1f 看完微信抢红包算法你就明白了 xff
  • python读音播报-基于python GUI开发的点名小程序(语音播报)

    实现名单轮播 点名 语音播报功能 coding utf8 ProjectName python3 FileName name Author shuxiaying Date 2020 7 9 Description import dateti
  • python编程100个小程序-整理了适合新手的20个Python练手小程序

    即刻关注公众号 xff0c 发现世界的美好 100个Python练手小程序 xff0c 学习python的很好的资料 xff0c 覆盖了python中的每一部分 xff0c 可以边学习边练习 xff0c 更容易掌握python 程序1 题目
  • python编程入门书籍-最适合Python初学者的6本书籍推荐「必须收藏」

    原标题 xff1a 最适合Python初学者的6本书籍推荐 必须收藏 Python是一种通用的解释型编程 xff0c 主要用于Web开发 机器学习和复杂数据分析 Python对初学者来说是一种完美的语言 xff0c 因为它易于学习和理解 x
  • dubbo好书推荐

    为了自己的进步 xff0c 也为了能够帮助其他人 xff0c 我决定开始写一些东西 xff0c 网上有很多学习资料 xff0c 自己的功力未必到家 xff0c 所以大家共同进步吧 xff01 站在巨人的肩膀上看得远 xff0c 现在推荐一本
  • linux升级java的jdk版本

    这里以升级jdk 8u231 linux x64 rpm为示例 安装 xff0c rpm ivh jdk 8u161 linux x64 rpmrpm pql root jdk 8u161 linux x64 rpm 通过查看 jdk 的信
  • you-get简明使用教程

    前言 近期 xff0c 想要下载哔哩哔哩等网站的视频 xff0c 网上查了一下you get的使用教程和视频 xff0c 有些特别简单 xff0c 说的不求甚解 xff0c 有些讲的太过繁琐 xff0c 所以 xff0c 打算自己写一个简单
  • linux分区扩容(非lvm)

    前言 最近 xff0c 在使用linux中中 xff0c 对于分区空间不够使用的情况下 xff0c 如果是使用lvm的分区 xff0c 是可以使用lvm扩容的 xff0c 流程大概是 xff1a 新加磁盘 将新加的磁盘创建成pv 将新加的p
  • linux关闭virbr0网卡

    前言 最近 xff0c 在使用linux时 要求需要关闭virbr0的网卡 xff0c 网上查了一下virbr0是kvm虚拟机使用的网卡 xff0c 是libvirtd服务安装后 xff0c 自动生成的 xff0c virbr0的配置文件位
  • rsync定时备份数据

    前言 rsync定时备份数据 简介 使用非系统用户备份数据192 168 130 63的 var www html 目录到192 168 130 64的 web bak目录 rsync定时备份数据 实验环境 xff1a 服务器 xff1a
  • rsync+sersync实时同步数据

    前言 rsync 43 sersync实时同步数据 简介 rsync 43 sersync实时同步数据的原理是在客户端安装sersync监控目录的变化 xff0c 一般是增删改 xff0c 检测到变化以后 xff0c 将变化的文件同步到服务
  • 配置 NFS 服务简述

    前言 配置 NFS 服务简述 简介 nfs utils服务依赖于rpcbind的服务 xff0c 是将服务端的目录共享 xff0c 其实是共享的 整个服务端的空间 xff0c 在客户端将共享目录挂载使用即可 配置 NFS 服务简述 实验环境
  • javaweb中四大域对象的生命周期与常用方法

    一 ServletContext 1 生命周期 xff1a 当Web应用被加载进容器时创建代表整个web应用的ServletContext对象 xff0c 当服务器关闭或Web应用被移除时 xff0c ServletContext对象跟着销
  • spring boot 集成 Guava Cache

    Guava Cache 背景集成缓存存放缓存回收 xff1a 基于容量回收 xff08 Size based Eviction xff09 基于时间回收 xff08 Timed Eviction xff09 基于引用类型的回收 xff08

随机推荐

  • 求1~n的阶乘的和,例:1!+2!+3!+......n!

    目录 递归实现 思想 代码实现 非递归实现 思想 代码实现 递归实现 xff1a 利用递归的形式实现阶乘的求和功能 xff0c 但是要注意栈溢出 xff0c 每次递归都会调用 xff0c 都会压栈 xff0c 占用栈中内存 xff0c 如果
  • 如何给shell脚本传入参数小结

    大家都知道普通的bash命令后边可以跟任意的参数 xff0c 那我们自己编写的脚本是否也支持传递参数呢 xff1f 答案当然是肯定的 执行 vim test sh 创建一个新的shell脚本 脚本test sh的内容如下 xff1a bin
  • 使用calibre制作带目录的mobi电子书

    1 把word等格式的书籍转换成txt格式的文件 xff0c 另外再重新把txt文件打开 xff0c 另存为UTF 8格式的文件 2 在想设为目录条目的地方输入 符号 xff0c 一级目录输入一个 xff0c 二级目录输入 3 在每段开头处
  • redis的快照和集群部署

    1 安装 使用redis 3 2 8 tar gz tar zxvf redis 3 2 8 tar gz cd redis 3 2 8 make amp amp make test amp amp make install xff08 1
  • 解决cannot open shared object file: No such file or directory

    一 linux下调用动态库 so文件时提示 xff1a cannot open shared object file No such file or directory 解决办法 xff1a 1 此时ldd xxx查看依赖缺少哪些库 lib
  • Activity的启动模式以及onNewIntent和onConfigurationChanged这两个生命周期方法的场景

    1 Activity的启动模式有哪几种 xff0c 分别用于什么场景 xff1f Activity的启动模式的4种 xff1a standard标准启动模式 xff0c 默认的启动模式 每一次启动这个activity都会创建新的activi
  • node 第三方模块系列------minimist轻量级的命令行参数解析引擎

    总体介绍 xff1a node js的命令行参数解析工具有很多 xff0c 比如 xff1a argparse optimist yars commander optimist和yargs内部使用的解析引擎正是minimist xff0c
  • Python教程:文件路径/目录获取教程

    一 获取文件路径实现 1 获取当前文件路径 span class token keyword import span os current file path span class token operator 61 span file s
  • npm的安装及缓存机制详解

    npm的安装机制 下面我们会通过一个流程图来具体学习npm install的安装机制 npm install执行之后 首先会检查和获取 npm的配置 这里的优先级为 项目级的 npmrc文件 gt 用户级的 npmrc文件 gt 全局级的
  • s7epaapidll丢失怎么办_s7epaapidll下载

    s7epaapi dll找不到怎么修复 xff1f 很多用户玩单机游戏或者安装软件的时候就出现过这种问题 xff0c 如果是新手第一时间会认为是软件或游戏出错了 xff0c 其实并不是这样 xff0c 其主要原因就是你电脑的该dll文件没有
  • 01-Elasticsearch安装与配置

    一 Elasticsearch 介绍 Elasticsearch是一个实时分布式搜索和分析引擎 二 运行环境 系统 Centos 7JDK 1 8ES版本 7 5 1 下载地址 https www elastic co cn downloa
  • 01-Liunx_用户操作

    一 创建用户组 创建用户组 root 64 localhost bin groupadd 用户组名称 example groupadd test 删除用户组 root 64 localhost bin groupdel 用户组名称 exam
  • 打工与乘公交

    去一个公司打工就如同上了一辆公交车 在上车之前 xff0c 你应该清楚自己打算去哪里 xff0c 打算在哪里下车 有的公交车很豪华 xff0c 有的很破烂 xff0c 但是这并不是重点 xff0c 所有能开到目的地的车都是好车 上了车之后
  • 01-MyBatis Plus-配置信息

    一 官网 URL https mp baomidou com 二 特性 无侵入 xff1a 只做增强不做改变 xff0c 引入它不会对现有工程产生影响 xff0c 如丝般顺滑损耗小 xff1a 启动即会自动注入基本 CURD xff0c 性
  • 五分钟教你手写HashMap

    原作者 xff1a 老铁123 出处 xff1a https blog csdn net qewgd article details 85927183 本文归作者 老铁123 和博客园共有 xff0c 欢迎转载 xff0c 但未经作者同意必
  • Java实现快速排序算法

    原作者 xff1a 老铁123 出处 xff1a https blog csdn net qewgd article details 85949755 本文归作者 老铁123 和博客园共有 xff0c 欢迎转载 xff0c 但未经作者同意必
  • 手写ArrayBlockingQueue

    个人分类 xff1a 算法 编辑 原作者 xff1a 老铁123 出处 xff1a https blog csdn net qewgd article details 88363745 本文归作者 老铁123 和博客园共有 xff0c 欢迎
  • 手写LinkedBlockingQueue

    原作者 xff1a 老铁123 出处 xff1a https blog csdn net qewgd article details 88364742 本文归作者 老铁123 和博客园共有 xff0c 欢迎转载 xff0c 但未经作者同意必
  • Viewbinding自动生成XML的一个对应绑定类

    当你在项目 Module 的build gradle中的android 中设置 buildFeatures viewBinding true 设置完sync一下 xff0c 然后会在项目中看到对应的XML文件的一个继承了ViewBindin
  • AE制作Json动画教程

    本文将从为什么要做动画 xff0c 到动画实现方式 xff0c 再到用AE 43 Bodymovin制作动画 xff0c 结合实际案例行分享 xff0c 希望给新手带来一些启发 首先我们来聊聊 xff0c 我们为什么要做动效 xff1f 1