今天看啥  ›  专栏  ›  暴走的TA

初识 Unity 的动画功能

暴走的TA  · 简书  ·  · 2021-04-04 19:13

简介: 如果我们制作的视频需要有物体的运动,或相机的运动不是静帧的画面的话,就需要了解一下 Unity 的动画系统
版本: Unity2019.4.12f1 HDRP 7.5.1

动画类型


  • unity 动画系统 2D 和 3D 都支持,因为重根本上将都是使用动画数据驱动物体运动,
  • 有蒙皮动画: Unity 2D 提供2d工具可以对精灵片进行蒙皮,用来制作 2D 的骨骼动画 ,3D 的蒙皮骨骼文件基本都是由第三方软件导出的,如 max,maya,blend 等。如果需要使用 2D 蒙皮功能需要在Package内下载 2DAnimation 的插件。
使用unity提供的2DAnimation来给精灵片绑定骨骼
  • 非蒙皮物体动画:动画可以直接在 untiy 内制作,也可以在第三方软件制作完成后导出文件到 untiy。
  • 顶点动画:例如从 Max 导出的 morpher 动画文件
  • 着色器动画:不需要动画文件,动画直接在显卡端直接计算,例如树叶和小草的摇晃等,这些可以用统一规则计算的动画
  • 刚体动画:unity 支持物理模拟动画,例如物体之间的碰撞,冲撞,弹跳等。
  • 我们这里没有说骨骼动画,因为骨骼动画只是使用骨骼一层一层进行驱动,物体蒙不蒙皮都可以使用骨骼动画,故这里没有将其列为一类,如果按照美术的一般思维,骨骼动画可以理解为蒙皮动画

相关文件创建方法


  • Animator :在Project面板右键依次选择 Create -> AnimatorController
创建 AnimatorController
  • Animation :在Project面板右键依次选择 Create -> Animation (还有其它快捷方法会在以后的讲解中提到)
创建 Animation 文件
  • 添加 Animator 组件,选择物体,然后点击 AddComponent,搜索 Animator 添加组件
添加 Animator 组件

使用方式


  • Unity 的动画数据基本都是保存在一种叫做 animation 的文件内,包括从第三方导入的动画也会自动生成这种 animation 数据,它里面包含的就是动画数据。
  • Unity 需要动画驱动的物体上需要挂在 Animator 组件(旧版的动动画系统可以挂在aniamtion组件,这我们不对其进行介绍了)。
  • Unity 需要动画驱动的物体上挂载的 Animator 组件需要指定一种类型为 AnimatorController 的文件,Animator 组件通过 AnimatorController 来获取动画信息,对物体进行动画。
  • AnimatorController 的动画数据来自于 animation 文件,一个 AnimatorController 文件内可以包含 0 到多个 animation 文件,包含 0 个时,物体不会有动画,包含一个以上时,根据设置决定使用哪个 animation 的动画数据进行动画。
  • Animator 、AnimatorController 和 Animation 的关系就是, AnimatorController 包含 animation 文件,Animator 组件使用 AnimatorControlller 来提取其里面的 animation 数据进行动画驱动。
Animator 、AnimatorController、Animation之间的关系



原文地址:访问原文地址
快照地址: 访问文章快照