Android修行手册 - 移动端几种常用动画方案对比
Unity3D特效百例 | 案例项目实战源码 | Android-Unity实战问题汇总 |
---|---|---|
游戏脚本-辅助自动化 | Android控件全解手册 | 再战Android系列 |
Scratch编程案例 | 软考全系列 | Unity3D学习专栏 |
蓝桥系列 | ChatGPT和AIGC |
👉关于作者
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,交流让学习不再孤单。
👉实践过程
😜一、GIF
GIF全称Graphics Interchange Format,图像互换格式,采用8位压缩,最多只能处理256种颜色,不宜应用于真彩色图片。GIF体积大,颗粒感,有锯齿,尤其透明效果动画慎用。
GIF导出
- 视频+PS导出:AE输出视频—PS打开视频—存储为WEB所用格式(旧版)—存储导出GIF。
- 序列帧+PS导出:AE导出PNG序列帧图—PS打开序列帧——存储为WEB所用格式(旧版)——存储导出GIF。
- AE插件GIFGUN导出:方便快捷,缺点是限制在30FPS内,输出质量差,容易掉帧。
- PS导出GIF失败后的替代方案:
存储为WEB所用格式(旧版)—点击左下角的预览—自动打开Chrome浏览器—复制网址,将网址粘贴到Safari浏览器中—拖出来就行。
- GIF压缩方式:PPduck、docsmall。
😜二、视频
MP4能够直接播放视频、音频的有损文件,实现成本低,兼容性强,体积一般。一般用在宣传、开屏、演示如app的开屏动画。
MP4导出
- 视频+PS导出:AE输出视频—PS打开视频—PS文件导出选择渲染视频—命名—选择输出的文件夹—选择品质高中低—点击渲染。
- 视频压缩方式:Handbrake、格式工厂、Adobe Media Encode。
- 视频转GIF:Gifski。
😜三、APNG/WEBP
APNG是基于PNG格式的动画格式图片,它的动图后缀依然是.png,因为兼容性的问题没有像GIF那样普及。
WEBP目标是减少文件大小,达到和JPGE格式相同的图片质量。WEBP基本兼容所有的主流浏览器,同时也兼容所有的安卓设备,不过像一些iOS设备需要通过一定的方式才可以支持,相同效果的WEBP格式要比PNG格式小大概一半大小。
APNG/WEBP导出
1、iSparta软件导出:将AE导出的序列图拖到iSparta软件中,点击开始即可导出APNG/GIF/WEBP(注:GIF通过此软件导出质量偏差)。
iSparta下载地址:http://isparta.github.io/how.html。
2、BX-WebpApngExporter插件导出:下载BX-WebpApngExporter.zxp,拖进ZXP安装工具安装插件,在AE窗口-扩展中运行BX Webp/Apng Exporter,选择要导出的格式的对应导出地址,根据情况勾选是否导出,点击生成。
😜四、LOTTIE/SVGA
LOTTIE是基于JSON格式的动画文件格式,满足很多种类的矢量动画和图片动画,它是多平台的,可以在iOS、Android、Web和React Native上使用,并且按比例放大缩小不会出现像素化;它是小文件,显著提高了下载速度。
LOTTIE导出:
Bodymovin插件导出:下载bodymovin插件,安装成功后,在窗口-扩展-Bodymovin打开,设置导出路径,渲染动画,点击完成。
SVGA是同时兼容iOS、Android、Web的动画文件格式,可以支持AE或Animate大部分效果,动画文件体积更小,播放资源更优,还原效果更好。
SVGA导出:
SVGAConverter插件导出:下载SVGAConverter插件,安装成功后,在窗口-扩展-SVGAConverter_AE打开,设置输出路径,点击开始转换,成功后会有预览。
😜五、总结对比
占用内存对比:从大到小
视频>序列帧>GIF>APNG/WEBP>LOTTIE/SVGA
质量稳定对比:从差到好
视频<GIF<序列帧<APNG/WEBP<LOTTIE/SVGA
支持AE动效对比:从多到少
视频>GIF>序列帧>APNG/WEBP>LOTTIE/SVGA
业务方案:
- gif虽然体积小、兼容性好、但效果差、不推荐使用、除非非常在意多端兼容性与性能!
- 简单的动图采用webp、比如简单的聊天表情动图(骰子、石头剪刀布等)
- lottie适合一些复杂的动画、比如复杂的加载动画、引导动画等、不适合做直播间大礼物特效
- 直播间复杂的大礼物动可以用效用svga,webp还有apng
- MP4不建议做直播间礼物动画防范
因为她不直接支持alpha,需要通过openGL或者CIFilter方式可以通过两个图层叠加的方式达到效果,但是性能不好,如果取帧的FPS介于:16.7 ~ 60 则内存暴涨100~150MB左右,而webp和svga则相对会稳定很多。
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。
相关文章:

Android修行手册 - 移动端几种常用动画方案对比
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...

16 循环语句——for循环
#字符串是可以进行迭代的 for 循环: for 变量 in 可迭代的东西: 代码 把可迭代的东西中的每一项内容拿出来,挨个的赋值给变量,每一次的赋值都要执行一次循环体(代码) s "你好呀,我叫赛利…...

代码随想录-笔记-其八
让我们开始:动态规划! 70. 爬楼梯 - 力扣(LeetCode) 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? class Solution { public:int climbStairs(i…...
Effective C++ 条款 15:在资源管理类中提供对原始资源的访问
文章目录 条款 15:在资源管理类中提供对原始资源的访问核心思想原始资源的访问方式标准库中的实现示例设计建议总结 条款 15:在资源管理类中提供对原始资源的访问 核心思想 为什么需要访问原始资源? 在使用 RAII(Resource Acquis…...

Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
目录 1.压缩和解压缩 1.1压缩 1.2解压缩 2.vim编辑器 2.1vim的3种工作模式 2.2切换编辑模式 2.3保存和退出 2.4光标移动 2.5复制粘贴 2.6剪切、删除 2.7查找 替换 2.7.1查找 2.7.2替换 3.分屏操作 3.1快速翻屏 3.2分屏 4.vim的配置 4.1系统配置 4.2用户配置…...
C++ 面向对象编程:关系运算符重载、函数调用运算符重载
对 、<、> 三个运算符分别进行重载,可见以下代码: #include<iostream> using namespace std;class location { public:location(int x1, int y1) :x(x1), y(y1){};bool operator(const location& l1) const{return x l1.x && …...
拉普拉斯分布极大似然估计
在拉普拉斯分布中,概率密度函数 (PDF) 表示为: f ( x ∣ μ , b ) 1 2 b exp ( − ∣ x − μ ∣ b ) , f(x | \mu, b) \frac{1}{2b} \exp\left(-\frac{|x - \mu|}{b}\right), f(x∣μ,b)2b1exp(−b∣x−μ∣), 其中 μ \mu μ 是位置参数&…...

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略
VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略 导读:2024年12月4日,PaliGemma 2是一个基于Gemma 2系列语言模型的开源视觉语言模型 (VLM) 家族。PaliGemma 2 通过提供一个规模化、多功能且开源的VLM家族,…...

qwenvl 代码中的attention pool 注意力池如何理解,attention pool注意力池是什么?
qwenvl 中的attention pool如何理解,其实这就是一个概念的问题 看qwenvl的huggingface的代码的时候,发现代码里有一个Resampler 以及attn_pool,这和之前理解的连接池 线程池 表示资源复用的意思不太一样,查了一下: 注…...
源码分析之Openlayers中GeometryCollection类
概述 本文主要介绍GeometryCollection类,GeometryCollection类继承于Geometry类,关于Geometry类,参考这篇文章源码分析之Openlayers中Geometry基类介绍 GeometryCollection类就是一组几何对象的集合. 源码分析 GeometryCollection类源码实现 GeometryCollection类源码实现…...
常见LLM大模型总结
常见LLM大模型总结 模型名称发布机构主要特点参数规模应用场景GPT-4OpenAI强大的推理能力,支持多模态(图像文本),上下文理解更深1.7万亿参数聊天机器人、内容生成、代码生成ChatGPTOpenAI面向对话优化,支持多轮对话记…...

向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
随着生成式人工智能技术的飞速发展,越来越多的人和企业开始应用AI到日常的工作和生活中。但公域的AI助手其数据来自互联网上的大量公开文本,虽然具有广泛的知识,但在面对一些特定领域的专业问题时,可能会出现回答不够准确或深入的…...

基础11C++中的异常处理以及swap
一、异常处理手段 抛出异常:throw 异常 作用:让调用者看见这个异常,如果调用者不理睬,就让调用者的调用者看见 接住异常: try {可能异常的code} catch(异常类型) {处理方式} 异常类型:一般为const &,防…...
写作词汇积累:得偿所望、可见一斑、搭腔
得偿所望 【得偿所望】是指经过长时间的期盼和努力,最终实现了自己的愿望或目标。 【得偿所望】强调了愿望实现后的满足感和成就感,是一个充满正能量和积极情感的词语。 【得偿所望】与【得偿所愿】在表达上也具有相似的含义,都指愿望得到了…...
android jetpack compose Model对象更新变量 UI不更新、不刷新问题
以前是搞老本行Android原生开发的,因为工作原因,一直在用vue小程序;因为一些工作需要,又需要用到Android原生开发,建了个项目,打开源码一看,天塌了!!!我以前的…...

数据库概论
目录 1、数据库管理系统(DBMS) 1.1 DBMS的主要功能 1. 数据库的定义功能 2. 数据库的操纵功能 3. 数据库的运行控制功能 4. 数据库的维护 5. 数据字典(Data Dictionary,DD) 2、数据模型 2.1 信息和数据(了解) 2.2 数据模型的三个层次 2.3 信息世界中的基…...

基于python使用UDP协议对飞秋进行通讯—DDOS
基于飞秋的信息传输 声明:笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 老规矩,封面在文末! 飞秋介绍 (…...

数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
数据库管理275期 2024-12-25 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)1 系统管理分片2 用户定义分片总结 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225) 作者:胖…...

使用Streamlit部署机器学习模型
机器学习: 计算机能够从经验中学习,而无需明确编程。机器学习是目前最热门的领域之一,世界各地的顶级公司都在使用它来改善他们的服务和产品。但是没有使用在Jupyter Notebook中训练的机器学习模型。因此,我们需要部署这些模型&am…...
依图科技简介
依图科技(YITU Technology)是中国一家全球领先的人工智能(AI)公司,成立于2012年,总部位于上海。公司专注于计算机视觉、语音识别和自然语言处理等核心AI技术,致力于推动AI技术在医疗、安防、金融…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...