一、前言

Hi,大家好,我是承香墨影!

Lottie 是 Airbnb 开源的一套跨平台的完整的动画效果解决方案,用过都说好。完全解耦开发人员和设计师,让设计师设计的动画,在程序中无缝还原,真是一旦拿起绝不放下。

之前也写过两篇关于 Lottie 基础的文章,还不了解的可以先看看。

Lottie 虽然非常好用,但是从反馈上来看,还是碰到一些问题。在没有设计师配合的情况下,我们如何找到合适自己 App 风格的 Lottie 动画的 JSON 文件。

之前也介绍过,有一个 LottieFiles 的网站,其内提供了很多设计师上传的 Lottie 动画,并提供预览的效果,只要我们看中了,就可以下载下来使用,非常的方便。

https://www.lottiefiles.com

虽然这个网站特别的方便,但是有时候找到的动画,并不符合我们 App 的风格或者我们的主观需要。

例如这个动画,如果我们想为圣诞做一个礼盒动画,找到这个动画觉得非常的合适,但是想将动画中黄色的丝带和星星,修改为红色。怎么办?难道只能依赖设计师小姐姐了吗?

二、编辑 Lottie 动画

2.1 Lottie-editor

最开始我认为动画中,使用到的颜色,应该是写在了 Lottie 动画的 JSON 中,但是实际你去阅读 JSON 文件的时候,是找不到类似 ARGB 或者其他的色值内容的,所以也没办法通过直接修改 JSON 文件,来达到修改动画的目的的。

不过不要紧,我们有工具可以修改它。

今天就再给大家推荐一个 Lottie 动画的编辑器:Lottie-editor。

它已经在 Github 上开源,有兴趣可以看看源码。

https://github.com/sonaye/lottie-editor

简单来说,Lottie-editor 为我们提供了编辑现成 Lottie JSON 文件的能力。它可以针对动画中,不同的颜色进行编辑,使用起来非常的简单。

将 JSON 文件拖拽进 Lottie-editor,左侧的每个色块,就对应了当前动画中的一个颜色区域,我们可以对其进行颜色的修改。一目了然,所见即所得。最终我们可以将我们修改好的动画 JSON 下载下来就可以直接使用了。

2.2 LottieFiles中编辑

LottieFiles 这个网站,考虑到快速编辑的问题,本身已经支持 Lottie-editor 去编辑动画了。

我们只需要在动画的预览界面,点击右上角的 "Customize with Bodymovin Editor",即可直接对该动画进行编辑。

三、修改动画 AEP

LottieFiles 还提供了 AE 动画的源文件下载功能(部分支持),这样假如我们不仅仅是对动画的颜色不满意,还需要修改一些更多的细节。我们可以将 .aep 的文件一同下载下来,然后拜托设计师小姐姐帮忙修改一下。

注意,一个支持 AEP 文件下载的 Lottie 动画,都有其独特的标志。

拿到 AE 源文件之后,就可以根据自己的需要进行微调了。如果设计师小姐姐对 AE 动画不熟悉,也可以让她通过这样的方式,学习别人制作动画的过程。

好了,对于 Lottie 动画能自己编辑,就自己编辑吧,实在不行就抱好小姐姐的大腿。

程序员也想改 Lottie 动画?是的!的更多相关文章

  1. 为什么程序员老在改 Bug,就不能一次改好吗?

    程序员的日常三件事:写Bug.改Bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含Bug. 但是真的有这么多Bug要改吗?就不能一次改完吗? 程序员听这问题后要拍键盘了,还!真! ...

  2. 程序员,想被别人发掘?那你有 freestyle 吗?

    程序员群体是偏内向的,整天和计算机打交道,用代码说话,接受任务,默默工作. 如果这些任务是有挑战性的还行,你的工作成果就能帮你说话,可是大部分工作都是普普通通的,甚至有点儿重复性的劳动. 这个时候表面 ...

  3. 单例模式 | 程序员都想要探索的 Javascript 设计模式

    最近打算系统的学习 Javascript 设计模式,以便自己在开发中遇到问题可以按照设计模式提供的思路进行封装,这样可以提高开发效率并且可以预先规避很多未知的问题. 先从最基本的单例模式开始 什么是单 ...

  4. [zz]论程序员

    g9老大多年前的趣文: 论程序员 根据钱钟书先生的<论文人>胡改的.聊搏一笑,文责不负.程序员是可嘉奖的,因为他虚心,知道上进,并不拿身分,并不安本分.真的,程序员对于自己,有时比旁人对于 ...

  5. 程序员带你十天快速入门Python,玩转电脑软件开发(三)

    声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...

  6. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  7. DOS程序员手册(十)

    终于到(十)了~~~ 503页 ES:DI       指向未更新且未打开的FCB的指针 注释:该功能最初用来从命令行中析取文件,并以正确的格式来保存此文件 以便打开FCB.为了实现这个目的,可首先将 ...

  8. 程序猿爱情表白专用html5动画网页的代码

    程序猿爱情表白专用html5动画网页的代码 下载地址:源代码 程序员表白专用的html5动画特效网页,真的挺羡慕创作者的水平,有这水平能够把爱表白给想表白的人,不要以为那些鲜花是用 的图片.你会发如今 ...

  9. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

随机推荐

  1. Eclipse中启动tomcat: java.lang.OutOfMemoryError: PermGen space的解决方法

    tomcat启动的时候出现这种错误一般是项目引用了太多的jar包,或者反射生成了太多的类,或者有太多的常量池,导致非堆内存中永久保存区域不够,就有可能会报java.lang.OutOfMemoryEr ...

  2. nsq topic和channel的区别

    topic:一个可供订阅的话题.channel:属于topic的下一级,一个topic可以有多个channel.二者关系可以再参考下面两文章:http://www.cnblogs.com/forres ...

  3. MFC中listbox控件中各种属性的详解

     ListBox控件是Windows 窗体的一个空间,ListBox 控件显示一个项列表,用户可从中选择一项或多项.      如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条. ...

  4. C++类中静态变量和普通变量的区别

    静态变量: 1.静态变量会被编到程序的exe里面,从程序启动到结束,它一直存在: 2.静态变量的初始化值为0: 3.全局变量默认是静态变量: 4.在类中的函数变量前面加了static的也是静态变量,只 ...

  5. Ubuntu18.04美化主题(mac主题)

    前端时间Ubuntu18.04LTS发布,碰巧之前用的Ubuntu16.04出了一点问题,懒得解决,索性就换了Ubuntu18.04. 成果: 参考博客:https://www.cnblogs.com ...

  6. SpringBoot Web Https 配置

    不管是游戏服务器开发,还是其它服务开发,越来越多的平台都要求服务端必须支持https的访问.以增加安全性.比如目前火热的小程序,要求服务端必须支持https,苹果商店也有说http请求要修改为http ...

  7. Python 实现文件复制、删除

    Python 实现文件复制.删除  转载至:http://www.cnblogs.com/sld666666/archive/2011/01/05/1926282.html 用python实现了一个小 ...

  8. FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM

    前言 FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测 ...

  9. 马蜂窝搜索基于 Golang 并发代理的一次架构升级

    搜索业务是马蜂窝流量分发的重要入口.很多用户在使用马蜂窝时,都会有目的性地主动搜索与自己旅行需求相关的各种信息,衣食住行,事无巨细,从而做出最符合需求的旅行决策. 因此在马蜂窝,搜索业务交互的下游模块 ...

  10. 刨根问底:if 后怎么就可以跟对象,变量交换写法是语法糖吗?

    1.万物皆可布尔 一般语言中的 if 语句语法是这样的: if (条件表达式){    执行语句} 而在 Python 中,if 后面不仅可以是条件表达式,还可以是任意对象.例如: my_list = ...