ManimCE作为一个强大的动画制作框架,它为创作者提供了丰富多样的动画效果,无论是文字图形还是其他元素,都能通过这些动画效果呈现出生动、有趣的视觉体验。

本文将详细总结ManimCEv0.19.0版本)中常见的动画效果,并分析它们的应用场景和带来的视觉效果,以及我们在制作数学动画时如何选择动画效果的建议。

1. 动画效果分类

ManinCE中提供了丰富的动画效果,总结起来大致可分为7类

1.1. 文字动画:让内容"活"过来

1.1.1. AddTextLetterByLetter效果

当你需要逐字显示一段文字,比如在介绍一个概念或者逐步展示一个过程时,AddTextLetterByLetter动画效果非常合适。

AddTextLetterByLetter视觉效果是文字会逐个字母依次出现,给人一种逐步展开、逐步深入的感觉。

这种效果可以让观众更好地跟随文字内容,避免一次性出现大量文字带来的视觉疲劳。

1.1.2. RemoveTextLetterByLetter效果

与添加文字相反,当你需要逐字移除文字时,比如在展示一个过程的结束阶段,或者需要逐步清理屏幕上的文字以便展示新的内容时,RemoveTextLetterByLetter动画效果就很实用。

它使得文字逐个字母消失,给人一种逐步收尾的感觉,让画面的过渡更加自然。

1.1.3. Write效果

Write是最常见的文字创建动画,适用于需要快速展示一段文字的场景,比如标题、关键点等。

它会让文字像用笔书写一样,一笔一划地出现,给人一种书写的感觉,比较自然流畅。

1.1.4. Unwrite效果

Unwrite用于移除文字,和 Write 动画相对应,适合在需要快速清理文字的场景中使用。

它的效果是使得文字会像被擦除一样,一笔一划地消失,效果比较直观。

1.2. 图形动画:从无到有的艺术

图形的动画效果比文字更加丰富一些,主要有:

1.2.1. Create效果

当你需要创建一个图形,比如圆形、矩形等,Create动画效果是最常用的。

它适用于任何需要展示图形的场景。

它会让图形会从无到有,逐步绘制出来,给人一种图形被“画”出来的感觉,视觉上比较直观。

1.2.2. Uncreate效果

Create 动画相对应,Uncreate用于销毁图形,比如在需要移除某个图形以便展示新的图形或者内容时。

它使得图形逐步被“擦除”,效果比较自然。

1.2.3. DrawBorderThenFill效果

当你需要创建一个图形,并且希望先展示它的轮廓,然后再填充颜色,DrawBorderThenFill动画效果就很合适。

比如在展示一个复杂的图形结构时,先展示轮廓可以让观众更好地理解图形的形状。

它使得图形的轮廓先被绘制出来,然后逐渐填充颜色,给人一种逐步构建的感觉,视觉上比较有层次感。

1.2.4. ShowIncreasingSubsets效果

ShowIncreasingSubsets适用于展示一个集合或者一组元素逐步增加的场景,比如在数学中展示集合的包含关系,或者在展示一个系统逐步扩展时。

它使得元素逐步增加,观众可以清晰地看到集合的变化过程,视觉上比较直观。

1.2.5. ShowSubmobjectsOneByOne效果

当你需要逐个展示一个对象的子元素时,比如一个复杂的图形由多个部分组成,ShowSubmobjectsOneByOne动画效果可以很好地展示每个部分。

它使得子元素逐个出现,观众可以更好地关注到每个部分的细节,避免一次性展示太多内容带来的视觉混乱。

1.2.6. SpiralIn效果

当你需要以一种比较有创意的方式展示一个图形或者对象时,SpiralIn动画效果可以带来独特的视觉效果。

比如在展示一个复杂的图形或者一组元素时,可以用螺旋的方式吸引观众的注意力。

它使得对象以螺旋的方式进入画面,给人一种动态的、吸引眼球的感觉,视觉上比较新颖。

1.3. 淡入淡出:优雅的过渡

1.3.1. FadeIn效果

FadeIn适用于需要让一个对象逐渐出现的场景。

比如在展示一个新的元素或者内容时,淡入效果可以让观众更好地关注到这个新出现的对象。

它使得对象从透明逐渐变为不透明,给人一种平滑的出现感觉,视觉上比较柔和。

1.3.2. FadeOut效果

FadeIn 相对,FadeOut用于让对象逐渐消失,比如在移除一个不再需要的对象时,淡出效果可以让画面的过渡更加自然。

它使得对象从不透明逐渐变为透明,最后消失,效果比较平滑。

1.4. 生长动画:赋予对象生命力

1.4.1. GrowArrow效果

当你需要展示一个箭头,比如在指示方向或者展示一个过程的流动方向时,GrowArrow动画效果可以很好地突出箭头的作用。

它使得箭头从一点开始,逐渐生长出来,给人一种动态的指向感,视觉上比较直观。

1.4.2. GrowFromCenter效果

GrowFromCenter适用于任何需要从中心生长的对象,比如一个圆形或者一个图形,这种动画效果可以让对象的出现更加自然。

它使得对象从中心开始,逐渐向外扩展,给人一种从内到外生长的感觉,视觉上比较有层次感。

1.4.3. GrowFromEdge效果

当你需要从边缘生长一个对象时,比如一个图形或者一条线,GrowFromEdge动画效果可以很好地突出对象的起点。

它使得对象从边缘开始,逐渐向中心生长,给人一种从外到内的感觉,视觉上比较有方向性。

1.4.4. GrowFromPoint效果

GrowFromPoint适用于需要从一个特定点生长的对象,比如在展示一个过程的起点时,这个动画效果可以很好地突出起点的作用。

它使得对象从指定的点开始,逐渐生长出来,给人一种从一点扩散的感觉,视觉上比较有焦点。

1.4.5. SpinInFromNothing效果

当你需要以一种比较有创意的方式展示一个对象时,SpinInFromNothing动画效果可以让对象以旋转的方式出现,吸引观众的注意力。

它使得对象从无到有,以旋转的方式进入画面,给人一种动态的、吸引眼球的感觉,视觉上比较新颖。

1.5. 高亮动画:抓住观众的眼球

1.5.1. ApplyWave效果

当你需要突出显示一个对象,比如在讲解一个重点内容时,ApplyWave动画效果可以很好地吸引观众的注意力。

它使得对象像被波浪击中一样,产生波动的效果,给人一种动态的、被强调的感觉,视觉上比较吸引眼球。

1.5.2. Circumscribe效果

Circumscribe适用于需要突出显示一个对象的边界,比如在展示一个图形或者一个区域时,这个动画效果可以很好地突出边界的作用。

它使得对象的边界被一个圆形或者矩形框住,并且会有一些动态的效果,比如闪烁或者移动,让观众的注意力集中在对象的边界上,视觉上比较直观。

1.5.3. Flash效果

当你需要快速吸引观众的注意力时,比如在展示一个关键点或者一个重要的变化时,Flash动画效果可以快速突出显示对象。

它使得对象快速闪烁几下,给人一种强烈的视觉冲击,吸引观众的注意力,视觉上比较直接。

1.5.4. FocusOn效果

FocusOn适用于需要让观众的注意力集中在某个特定区域时,比如在讲解一个复杂的图形或者一个系统时,这个动画效果可以很好地突出重点区域。

它使得画面聚焦在对象上,其他部分会模糊或者变暗,让观众的注意力集中在对象上,视觉上比较有层次感。

1.5.5. Indicate效果

当你需要突出显示一个对象,比如在讲解一个重点内容时,Indicate动画效果可以很好地吸引观众的注意力。

它使得对象有一些动态的效果,比如闪烁或者变色,让观众的注意力集中在对象上,视觉上比较直观。

1.5.6. ShowPassingFlash效果

ShowPassingFlash适用于需要展示一个对象的路径或者轨迹时,比如在展示一个运动过程或者一个变化过程时,这个动画效果可以很好地突出路径的作用。

它使得对象有一道动态的闪光效果,沿着路径移动,让观众的注意力集中在路径上,视觉上比较直观。

1.5.7. Wiggle效果

当你需要让一个对象产生一种动态的、活泼的感觉时,比如在展示一个有趣的元素或者一个动态的过程时,Wiggle动画效果可以很好地突出对象的活泼性。

它使得对象像被晃动一样,产生一些小幅度的抖动效果,给人一种活泼、动态的感觉,视觉上比较有趣。

1.6. 旋转动画:动态展示空间关系

1.6.1. Rotate效果

当你需要让一个对象旋转时,比如在展示一个三维物体的旋转,或者一个图形的旋转变化时,Rotate动画效果是最常用的。

它使得对象按照指定的角度和方向旋转,给人一种动态的、变化的感觉,视觉上比较直观。

1.6.2. Rotating效果

Rotating适用于需要让一个对象持续旋转的场景,比如在展示一个动态的过程或者一个旋转的机械结构时,这个动画效果可以让对象持续旋转,吸引观众的注意力。

它使得对象持续旋转,给人一种动态的、持续变化的感觉,视觉上比较有节奏感。

1.7. 移动动画:讲述对象的故事

1.7.1. MoveAlongPath效果

当你需要让一个对象沿着一条特定的路径移动时,比如展示一个物体的运动轨迹、一个粒子在曲线上的运动,或者一个角色沿着某个路径行走时,MoveAlongPath是非常合适的选择。

使用MoveAlongPath,你可以定义任意形状的路径,比如直线、曲线、折线或者复杂的几何形状。

对象会沿着这条路径平滑地移动,给人一种物体在受引导下运动的感觉。

并且,对象在路径上的移动速度可以调整,你可以让它匀速移动,也可以设置加速或减速的效果。

这种动态感可以很好地模拟真实的物理运动,比如一个物体在重力作用下下落,或者一个物体在弹簧力作用下往复运动。

1.7.2. PhaseFlow效果

当你需要让一个对象沿着复杂的路径或者流线移动时,比如在展示一个粒子的运动轨迹,或者一个物体在流体中的运动路径时,PhaseFlow动画效果可以很好地模拟这种复杂的运动。

它使得对象沿着预设的路径或者流线移动,路径可以是曲线、折线或者其他复杂的形状,给人一种物体在受力或者受引导下运动的感觉,视觉上比较真实。

2. 动画效果选择建议

在使用 ManimCE 制作动画时,选择合适的动画效果是非常重要的。

以下是一些选择动画效果的建议:

2.1. 根据内容的重要性选择:

  • 如果是关键内容,比如标题或者重要的概念,可以选择比较突出的动画效果,比如FlashCircumscribe或者Indicate,这些效果可以快速吸引观众的注意力。
  • 如果是辅助内容,比如背景元素或者过渡内容,可以选择比较柔和的动画效果,比如FadeIn或者GrowFromCenter,避免过于抢眼的动画分散观众的注意力。

2.2. 根据内容的类型选择:

  • 对于文字内容WriteUnwrite是比较常用的选择,因为它们可以很好地模拟书写和擦除的过程,让观众更容易跟随内容。
  • 对于图形内容CreateUncreate是比较直观的选择,因为它们可以很好地展示图形的绘制和消失过程。
  • 如果需要展示一个集合或者一组元素的变化,ShowIncreasingSubsetsShowSubmobjectsOneByOne是不错的选择,因为它们可以让观众清晰地看到元素的变化过程。

2.3. 根据动画的目的选择:

  • 如果是为了吸引观众的注意力,可以选择比较有创意的动画效果,比如SpinInFromNothingWiggle或者ApplyWave,这些效果可以带来独特的视觉体验。
  • 如果是为了展示一个动态的过程,比如物体的运动或者变化,可以选择MoveAlongPathPhaseFlow或者Rotate,这些效果可以很好地模拟动态过程。
  • 如果是为了强调某个对象或者区域,可以选择FocusOnCircumscribe或者Flash,这些效果可以很好地突出重点。

2.4. 根据整体风格选择:

  • 如果你的动画整体风格比较简洁,可以选择比较平滑的动画效果,比如FadeInFadeOut或者GrowFromCenter,这些效果可以让画面的过渡更加自然。
  • 如果你的动画整体风格比较活泼,可以选择比较动态的动画效果,比如WiggleApplyWave或者Rotating,这些效果可以带来更加生动的视觉体验。

2.5. 避免过度使用动画:

  • 动画虽然可以增强视觉效果,但过度使用可能会让观众感到疲劳。在选择动画效果时,尽量保持简洁明了,避免过多复杂的动画效果同时出现。
  • 如果一个场景中已经有多个动画效果,可以适当减少动画的复杂度,或者选择比较柔和的动画效果,让观众的注意力集中在内容本身。

3. 总结

ManimCE 提供了丰富多样的动画效果,每种动画效果都有其独特的应用场景和视觉效果。

通过合理选择动画效果,可以让动画更加生动、有趣,同时也能更好地突出内容的重点。

manim 动画效果总结的更多相关文章

  1. app引导页(背景图片切换加各个页面动画效果)

    前言:不知不觉中又加班到了10点半,整个启动页面做了一天多的时间,一共有三个页面,每个页面都有动画效果,动画效果调试起来麻烦,既要跟ios统一,又要匹配各种不同的手机,然后产品经理还有可能在中途改需求 ...

  2. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  3. Android动画效果之Property Animation进阶(属性动画)

    前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...

  4. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  5. Android动画效果之Frame Animation(逐帧动画)

    前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...

  6. Android动画效果之Tween Animation(补间动画)

    前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...

  7. CSS3中的动画效果记录

    今天要记录的是CSS3中的三种属性transform.transition以及animation,这三个属性大大提升了css处理动画的能力. 一.Transform 变形 CSS中transform ...

  8. 纯css3圆形从中心向四周扩散动画效果

    查看效果:http://hovertree.com/texiao/css3/37/ 先来个简单的示例,例如: @keyframes hovertreemove{from {top:30px;}to { ...

  9. iOS之按钮出现时加一个动画效果

    //按钮出现时的动画效果 + (void)buttonAnimation:(UIButton *)sender { CAKeyframeAnimation *animation = [CAKeyfra ...

  10. 用js实现动画效果核心方式

    为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...

随机推荐

  1. 利用JS 代码块 为你的 Typecho博客添加一个 Copy 按钮

    引入 JS 将以下代码添加到主题 header.php 中的 </head> 标签前,本主题也可以前往 控制台 - 设置外观 - 主题自定义扩展,将它添加到 自定义 HTML 元素拓展 - ...

  2. 【数学公式】mathtype和word2016集成

    mathtype 安装好了以后,word 没有相应的选项卡怎么办? 问题 解决办法 找到word的启动路径 2. 找到mathtype 安装好后的mathpage文件夹 进入文件夹,找到MathPag ...

  3. 【译】Visual Studio 中新的强大生产力特性

    有时候,生活中的小事才是最重要的.在最新版本的 Visual Studio 中,我们增加了一些功能和调整,目的是让您脸上带着微笑,让您更有效率.这里是其中的一些列表,如果您想要完整的列表,请查看发行说 ...

  4. 解决PyCharm提示Error: Please select a valid Python interpreter

    前言 Pycharm运行Python3.7.8的程序时发现源程序运行报错(非语法错误) Error:please select a valid Python interpreter 解决 第一步:打开 ...

  5. Windows 10右键添加 "在此处打开命令窗口" 菜单

    1.添加右键菜单的两种效果: 第一种是在 桌面/文件夹窗口中/选中文件夹上直接点击右键,显示"在此处打开命令窗口"选项,如图: 第二种是在 桌面/文件夹窗口中/选中文件夹上按住Sh ...

  6. [源码系列:手写spring] IOC第六节:资源和资源加载器

    主要内容 本节新增 Resource接口 定义对资源的抽象和访问,并且添加三个Resource接口的简单实现类. FileSystemResource 文件系统资源的实现类 ClassPathReso ...

  7. halcon 深度学习教程(三) 目标检测之水果分类

    原文作者:aircraft 原文链接:halcon 深度学习教程(三) 目标检测之水果分类 - aircraft - 博客园 深度学习教程目录如下,还在继续更新完善中 深度学习系列教程目录 有兴趣可以 ...

  8. useDeferredValue的作用

    前言 useDeferredValue是react18新增的一个用于优化性能的一个hook,它的作用是延迟获取一个值,实际开发中的常规用法与我们之前所用的防抖和节流很相似,但是也有一定的区别.本篇文章 ...

  9. 行为识别TSM训练ucf101数据集

    序言 最近有个行为检测的需求,打算用行为识别做,纯小白入这个方向,啃了两周的TSM原理和源码,训练好自己的数据集后,发现好像没法应用到自己的需求场景??玛德!算了,还是要记录一下.原理就没别要讲了,网 ...

  10. SRE网站可靠性工程师

    SRE网站可靠性工程师 SRE需要做什么? 一般: 故障模式,尤其是SPOF(单点故障).消除SPOFs是你作为SRE最大的挑战和乐趣. 基础设施组件,从应用程序到硬件(服务器.交换机.路由器.互联网 ...