首页 > 其他分享 >前端页面自动渲染AE动画方案

前端页面自动渲染AE动画方案

时间:2024-07-04 19:55:38浏览次数:17  
标签:动画 AE 文件 导出 图层 lottie 页面

登录页面设计师做了很酷炫的动画效果,想到的三种实现方式:
1、导出GIF图给前端渲染
2、导出视频给前端渲染
3、导出动画的每一帧图片给前端序列合成动画
后来这三种方式因显示效果不好,体积大或者实现复杂等原因被否定了。

调研

经调研发现 Lottie是可应用于Android, iOS, Web和Windows的库,通过Bodymovin解析AE动画,并导出可在移动端和web端渲染动画的json文件。换言之,设计师用AE把动画效果做出来,再用Bodymovin导出相应地json文件给到前端,前端使用Lottie库就可以实现动画效果,如下图:

设计师安装与使用Bodymovin

1、关闭AE
2、下载并安装ZXP installer https://aescripts.com/learn/zxp-installer/
3、下载最新版bodymovin插件 lottie-web/build/extension/bodymovin.zxp at master · airbnb/lottie-web · GitHub
4、把下载好的bodymovin.zxp拖到ZXP installer
5、打开AE,在菜单首选项->常规中勾选☑️允许脚本写入文件和访问网络(否则输出JSON文件时会失败)
6、在AE中制作动画,打开菜单窗口->拓展->Bodymovin,勾选要输出的动画,并设置输出文件目录,点击render
打开输出目录会看到生成的JSON文件,若动画里导入了外部图片,则会在images中存放JSON中引用的图片

前端安装与使用lottie

1、安装依赖 npm install lottie-web
2、调用 lottie

// 引入lottie
import lottie from 'lottie-web';
/*
*/
// 使用
this.animation = lottie.loadAnimation({
    container: this.$refs.loginContent,
    renderer: 'svg',
    loop: true,
    autoplay: true,
    animationData: loginJson,
    assetsPath: '/static/animation/login/',
});

loadAnimation参数

参数释义
container用于渲染动画的HTML元素,需确保在调用loadAnimation时该元素已存在
renderer渲染器,可选值为’svg’(默认值)/‘canvas’/‘html’。
loop默认值为true。可传递需要循环的特定次数
autoplay自动播放
pathJSON文件路径
animationDataJSON数据,与path互斥
name传递该参数后,可在之后通过lottie命令引用该动画实例
rendererSettings可传递给renderer实例的特定设置,具体可看

(renderer html的性能更好且支持3d图层)

调试

由于创建Lottie动画和平常制作AE动画有所不同,设计师和前端之间有个动画效果联调的过程,为了提高联调效率,设计师可先进行初步的效果预览,再把文件交付给前端。

预览方法

1、渲染前设置所要渲染的文件

2、勾选☑️Demo选项

在输出的文件目录中就可找到可预览的html文件

设计师注意事项

对设计师而言,创建Lottie动画和往常制作AE动画有所不同,此文档 (Lottie Docs) 记录了Bodymovin支持输出的AE功能列表,动画制作前需跟设计师沟通好,根据动画加载平台来确认可使用的AE功能。

除此之外,尽量遵循官方文档里对设计过程的指导和建议:
1、动画简单化。

创建动画时需时刻记着保持JSON文件的精简,比如尽可能地绑定父子关系,在相似的图层上复制相同的关键帧会增加额外的代码,尽量不使用占用空间最多的路径关键帧动画。诸如自动跟踪描绘、颤动之类的技术会使得JSON文件变得非常大且耗性能。

2、建立形状图层。
将AI、EPS、SVG和PDF等资源转换成形状图层否则无法在Lottie中正常使用,转换好后注意删除该资源以防被导出到JSON文件。

3、设置尺寸。
在AE中可设置合成尺寸为任意大小,但需确保导出时合成尺寸和资源尺寸大小保持一致。

4、不使用表达式和特效。
Lottie暂不支持。

5、注意遮罩尺寸。
若使用alpha遮罩,遮照的大小会对性能产生很大的影响。尽可能地把遮罩尺寸维持到最小。

6、动画调试。
若输出动画破损,通过每次导出特定图层来调试出哪些图层出了问题。然后在github中附上该图层文件提交问题,选择用其他方式重构该图层。

7、不使用混合模式和亮度蒙版。

8、不添加图层样式。

9、全屏动画。
设置比想要支持的最宽屏幕更宽的导出尺寸。

10、设置空白对象。
若使用空白对象,需确保勾选可见并设置透明度为0%否则不会被导出到JSON文件。

标签:动画,AE,文件,导出,图层,lottie,页面
From: https://blog.csdn.net/boyfsfs/article/details/140178407

相关文章

  • 使用 Tampermonkey 在页面加载完5秒后监听特定页面元素的点击事件并修改 API 返回的数
    示例 //==UserScript==//@nameNewUserscript//@namespacehttp://tampermonkey.net///@version2024-07-04//@descriptiontrytotakeovertheworld!//@authorYou//@matchhttps://a.x.com/*//@iconhttps://www.......
  • 基于深度学习的动画渲染
    基于深度学习的动画渲染是一项利用深度学习技术来提高动画制作效率和质量的前沿研究领域。该技术旨在通过深度学习模型加速动画渲染过程,优化图像质量,并实现复杂效果的自动化生成。以下是关于这一领域的系统介绍:1.任务和目标动画渲染的主要任务是将3D模型、场景和动画转换为......
  • UltraEdit下载与安装教程(一套功能强大的超文本编辑器 )
    前言UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。UltraEdit是Windows旗下一款流行的老牌文本/HEX编......
  • Selenium+ChromeDriver获取页面数据
    一个业务需求是从一个网站上抓取客户的评论信息,评论数据已经渲染好在html上由接口返回的,只能从HTML上一个个扣数据。一开始是使用的HtmlUnit来处理,但期间一直抛出拒绝访问提示但是从浏览器可以直接访问,我就换别的网站进行访问,别的网站能够正常抓取数据,期间也试过设置请求头,直到在......
  • K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署高可用 Redis 集群
    前言Redis是在开发过程中经常用到的缓存中间件,为了考虑在生产环境中稳定性和高可用,Redis通常采用集群模式的部署方式。在制定Redis集群的部署策略时,常规部署在虚拟机上的方式配置繁琐并且需要手动重启节点,相较之下,使用PetaExpress提供的Kubernetes(k8s)服务进行Redis集......
  • 分享:Motionity-开源的Web端动画编辑器
    Motionity是一个免费且开源的Web端动画编辑器,它结合了AfterEffects和Canva的优点,为用户提供了强大的动画编辑功能。支持视频剪切、图像搜索过滤、文本动画库、图层蒙版等功能。一、项目背景与特点开源项目:Motionity是一个开源项目,这意味着用户可以自由地查看、使用、修改和......
  • Jetpack Compose 页面路由功能
    JetpackCompose页面路由功能JetpackCompose通过其Navigation库提供了对页面(或称为屏幕)之间导航的支持。这个库是基于Jetpack库中的Navigation组件专门针对Compose进行的扩展,使得在使用Compose构建应用时,能够以声明式的方式处理应用内的导航逻辑。JetpackComposeNavigation......
  • 混合开发H5页面的数字字体在IOS 安卓上显示不一样
    背景做完H5页面,UI走查的时候,发现IOS下数字的字体不对,安卓下是正常的,于是就查了下原因,以此做个记录看下实际效果左边是安卓,右边是IOS的效果,明显看出来数字的字体是不一样的安卓、IOS字体不一致的原因在安卓、IOS系统中,如果没有专门设置字体的话,会使用默认的字体,汉字,英文......
  • HarmonyOS Next开发学习手册——旋转屏动画增强
    在原旋转屏动画基础上,可配置渐隐和渐现的转场效果。完整的代码示例和效果如下。//xx.etsimport{display}from'@kit.ArkUI';@Entry@Componentstructrotation{@StorageLink('orientation')myOrientation:display.Orientation=display.Orientation.PORTR......
  • 阿里云 SAE 助力修正商城 3 周内提升系统承载能力 20 倍,轻松应对春晚流量
    作者:赵世振、刘松伟、朱坪"从了解阿里云SAE到使用SAE进行应用架构升级共经历3周,这 3周我们系统能承载的QPS从 5000增强到 10万,提升20倍,轻松应对了春晚大促流量洪波。并且,SAE还帮助我们降低了20%的使用成本,研发效率提升40%,应用上线周期缩短40%。———修......