Lottie 动画解决方案

为什么要在你的产品中使用动画

在当今的数字设计领域,动画效果越来越受到重视,而 Lottie 动画解决方案则为我们带来了全新的可能性。

Lottie 是一个强大的工具,它能够让我们轻松地在各种平台上实现复杂而精美的动画。无论是移动端应用还是网页设计,Lottie 都能发挥巨大作用。

那么,Lottie 到底是什么呢?简单来说,它是一种将 Adobe After Effects 等软件中创建的动画导出为 JSON 格式的技术。通过这种方式,动画可以在不同的设备和平台上以高效的方式呈现,同时保持高质量的视觉效果。

对于初学者来说,使用 Lottie 有以下几个关键步骤。首先,我们需要在动画制作软件中设计好我们的动画。然后,利用相关的插件或工具将其导出为 Lottie 格式的 JSON 文件。接下来,在我们的项目中引入 Lottie 库,并加载和播放这个 JSON 文件。

Lottie 的优点众多。它具有出色的跨平台性,减少了为不同平台分别制作动画的繁琐。而且,它的文件体积相对较小,不会对应用的性能造成过大负担。

在实际应用中,Lottie 可以为我们的产品增添生动性和吸引力。比如,在一个应用的引导界面中使用流畅的动画来吸引用户的注意力,或者在网页中添加有趣的交互动画来提升用户体验。

总之,Lottie 动画解决方案是一个值得我们深入探索和学习的领域。它为我们的设计带来了更多的创意空间和可能性,让我们能够打造出更加令人惊艳的数字作品。

马上在网站集成Lottie动画

第一步:准备工作

首先,确保你已经有了 Lottie 动画的 JSON 文件。这通常是通过在诸如 Adobe After Effects 等专业软件中制作动画,然后使用相关插件导出得到的。当然你也可以在文末的十大Lottie资源网站下载需要的动画JSON文件。

第二步:引入 Lottie 库

根据你使用的前端框架或技术,选择合适的 Lottie 库。可以从官方网站或相关的资源库中获取。将其添加到你的网站项目中,通常通过在 HTML 文件中添加脚本标签来实现。

<script src="js/lottie.js" type="text/javascript"></script>
<script>
lottie.loadAnimation({
  container: element, // the dom element that will contain the animation
  renderer: 'svg',
  loop: true,
  autoplay: true,
  path: 'data.json' // the path to the animation json
});
</script>

当然,你也可以使用CDN加速JS包

<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.9.2/lottie.min.js" type="text/javascript"></script>

第三步:加载和初始化

Lottie 动画在你的网页代码中,找到合适的位置来加载和初始化 Lottie 动画。使用库提供的方法,传入 JSON 文件的路径或 URL。

第四步:设置动画属性

你可以根据需要设置动画的各种属性,如播放速度、循环次数、是否自动播放等。

<script>
lottie.loadAnimation({
  container: element, // the dom element
  renderer: 'svg',
  loop: true,
  autoplay: true,
  animationData: animationData, // the animation data
  // ...or if your animation contains repeaters:
  // animationData: cloneDeep(animationData), // e.g. lodash.clonedeep
  rendererSettings: {
    context: canvasContext, // the canvas context, only support "2d" context
    preserveAspectRatio: 'xMinYMin slice', // Supports the same options as the svg element's preserveAspectRatio property
    title: 'Accessible Title', // Adds SVG title element for accessible animation title
    description: 'Accessible description.', // Adds SVG desc element for accessible long description of animation
    clearCanvas: false,
    progressiveLoad: false, // Boolean, only svg renderer, loads dom elements when needed. Might speed up initialization for large number of elements.
    hideOnTransparent: true, //Boolean, only svg renderer, hides elements when opacity reaches 0 (defaults to true)
    className: 'some-css-class-name',
    id: 'some-id',
  }
});
</script>

第五步:处理交互

如果希望与动画进行交互,例如点击触发特定动作,可以通过监听事件并编写相应的处理函数来实现。

第六步:测试与调试

在本地环境中进行充分的测试,确保动画能够正常播放,并且交互功能也按预期工作。如果遇到问题,查看控制台的错误信息,以便快速定位和解决。

第七步:优化与性能

考虑注意优化动画的加载和播放,避免对网站性能造成过大影响。可以考虑对 JSON 文件进行压缩等操作。

通过以上步骤,你就可以成功地将 Lottie 动画集成到你的网站中。它将为你的网站带来全新的活力和吸引力,给用户留下深刻的印象。

在移动应用开发中使用

以iOS集成为例

在 Xcode 中,选择 “File” → “Add Packages…” 添加包 在URL中输入 https://github.com/airbnb/lottie-spm.git

更多资源

设计软件及插件

  • After Effect + bodymovin.zxp
  • https://editor.lottiefiles.com/ 在线编辑创作Lottie

Top 10 Lottie Resource Website

项目 网址
🇺🇸 LottieFiles https://lottiefiles.com/
🇺🇸 LordIcon https://lordicon.com/
🇺🇸 FlatIcon https://www.flaticon.com/
🇺🇸 Lottieflow https://finsweet.com/
🇺🇸 IconScout https://iconscout.com/
🇺🇸 Icons8 https://icons8.com/illustrations/styles/animated-1
🇺🇸 Creattie https://creattie.com/
🇺🇸 LottieFolder https://www.lottiefolder.com/
🇺🇸 LottieLab https://www.lottielab.com/
🇺🇸 MotionElements https://www.motionelements.com/lottie

Preview Lettie Animation JSON Online

JSON URL for test

  https://assets5.lottiefiles.com/private_files/lf30_ej73j8k8.json
  https://assets5.lottiefiles.com/packages/lf20_5buYwf.json
  https://assets9.lottiefiles.com/packages/lf20_zlffgf9c.json
  https://assets10.lottiefiles.com/datafiles/yqyCt9QfT8z5kLU/data.json
  https://assets10.lottiefiles.com/packages/lf20_o4C0VO.json
  https://assets6.lottiefiles.com/datafiles/Y95p1QxekMZhR3m/data.json
  https://assets1.lottiefiles.com/datafiles/hToYrgLpHl1u69x/data.json
  https://assets10.lottiefiles.com/private_files/lf30_Twfrj1.json
  https://assets4.lottiefiles.com/packages/lf20_qFttfS.json
  https://assets3.lottiefiles.com/datafiles/LM7IXg9BbuCdrfl/data.json
  https://assets9.lottiefiles.com/packages/lf20_jhudx27y.json
  https://assets4.lottiefiles.com/private_files/lf30_yo2zavgg.json
  https://assets8.lottiefiles.com/private_files/lf30_GjhcdO.json
  https://assets3.lottiefiles.com/datafiles/HF2l8DiOyOT4dwI/data.json
  https://assets4.lottiefiles.com/packages/lf20_gghk4m0m.json
  https://assets4.lottiefiles.com/private_files/lf30_ar2kiikf.json
  https://assets6.lottiefiles.com/private_files/lf30_oxurudgk.json
  https://assets9.lottiefiles.com/packages/lf20_gwwngxas.json
  https://assets3.lottiefiles.com/packages/lf20_xjhwr9wv.json
  https://assets3.lottiefiles.com/packages/lf20_QdVQmS.json
  https://assets8.lottiefiles.com/datafiles/9zxVW04xOMfVl8F/data.json
  https://assets2.lottiefiles.com/packages/lf20_nvskuoaw.json
  https://assets10.lottiefiles.com/private_files/lf30_a4mKwA.json
  https://assets6.lottiefiles.com/packages/lf20_4tvpr5xz.json
  https://assets3.lottiefiles.com/packages/lf20_kh52Ub.json

hack for json URL

https://iconscout.com/lottie-animation-pack/confetti-explosion
https://iconscout.com/lottie-animation-pack/explosion-1

Official Github