Unity 动画系统 Animation 和 Animator 联系与区别

2023-11-19

?返回目录 


引言

  在unity的老版本中我们只有Animation组件,在4.6版本以后则增添了Animator组件,如果只是控制一个动画的播放我们则用Animaton组件,如果是很多动画之间相互转换则使用Animator组件,它们两者的区别就是Animator有一个动画控制器(俗称动画状态机),使用它来进行动画切换是非常方便的,但缺点是占用内存比Animaton组件大。


常用类

  Animator:动画控制器,控制Mecanim动画系统的接口,用来管理多个动画;

  Animation:用于播放动画,老版中单独的一个Animation也可以完成动画的播放和切换,不过状态切换之类的需要程序猿代码控制。在新版中,状态管理部分交给了Animator;

  AnimationClip:动画剪辑片段,储存基于关键帧的动画,是用于Animation来播放动画;

  AnimationState:动画状态,用来改变单一动画的播放速度、权重、时间、层级、播放Mode,以及混合模式;

  AnimationEvent:动画事件,用于某种条件下触发自定义函数;

  StateMachineBehaviour: 动画状态机管理器拓展类,脚本继承了该类之后,绑定到Animator上某State上面。当状态发生变化,可以重载响应函数。类似 触发器的响应函数;


关于区别

相对于老版Animation,新版的Animator加入了动画状态机。

 

 

相对于老版Animation,新版的Animator加入了骨骼Avatar。

 

 


关于Animator文件和组件的认识

要注意的是Animator ControllerAnimation Clip都是文件(File),Animator则是GameObject上的一个组件(Component),不能混为一谈。

由下图可以看出,组件是组件,文件是文件。

 

 


组件添加的区别

经过试验我发现

  当先手动给物体添加了Animation组件之后,再通过Window->Animation。创建的是Animation。(老版的Animation)

  如果不添加Animation组件,直接Window->Animation。创建的是Animation和Animator一起。(新版的Animator)

还有

  单独使用Animation(老版)可以移动位置等,但是就是不能播放sprite,但是使用Animator就可以播放Sprite。这应该是Unity的bug。


结尾

Animation和Animator分别制作动画的小demo请戳?

Animator深入系列

http://www.cnblogs.com/hont/p/5097407.html

转载于:https://www.cnblogs.com/01zxs/p/9965115.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 动画系统 Animation 和 Animator 联系与区别 的相关文章

随机推荐

  • 神经网络控制系统的特点,神经网络控制的优点

    什么是神经网络控制 神经网络控制技术是一项复杂的系统控制技术 一般应用在变频器的控制中 它是通过对系统的辨识 运算后对变频器进行控制的一种新技术 而且神经网络控制可以同时控制多个变频器 所以应用在多个变频器级联控制中比较合适 谷歌人工智能写
  • angularjs官方教程中的两处错误

    看到官方教程中HTTP小节之前还在向同事夸angularjs的教程做的厚道 没有什么坑 结果到http就出现了 发现了两处错误 度娘各种搜索没有发现相关的帖子 于是记录下来 希望能被高效收录 以解广大IT民工之困扰 getHero id n
  • stream流常用

    从一个List中获得每个object的对象的id组成一个list List
  • 卓越性能代码_「Win」被隐藏起来的卓越性能模式,为何不想让人发现?

    前言 众所周知 电脑电源管理中包含三大模式 分别是 节能模式 平衡模式 高性能模式 其对电脑的性能影响还是比较大的 但是今天所说的 卓越性能模式 应该很多人都没听说过 又是何方神圣 其为何要隐藏起来不想被人发现 如何开启 卓越性能 模式 右
  • LLaMA微调记录

    本文基于开源代码https github com Lightning AI lit llama tree main执行微调 其他参考链接 Accelerating LLaMA with Fabric A Comprehensive Guid
  • 实验二:使用KMP算法实现字符串的匹配

    1 实验目的 熟练的掌握数据结构中串这种数据类型 学会使用相较于朴素的模式识别算法更加先进的KMP算法进行识别和匹配 同时 在数据结构试验之中熟悉和了解串的性质和使用方法 2 实验要求 输入 通过命令行参数输入原字符串和模式字符串 输出 1
  • 全排列问题

    问题描述 给定一个由不同的小写字母组成的字符串 输出这个字符串的所有全排列 我们假设对于小写字母有 a lt b lt lt y lt z 而且给定的字符串中的字母已经按照从小到大的顺序排列 输入 输入只有一行 是一个由不同的小写字母组成的
  • 超详细Vue Devtools的下载和安装——Vue的调试工具

    在使用 Vue 时 我们推荐在浏览器上安装 Vue Devtools Vue Devtools 是 Vue 官方发布的调试浏览器插件 可以安装在 Chrome 和 Firefox 等浏览器上 直接内嵌在开发者工具中 使用体验流畅 Vue D
  • 哪些行业是离散制造?哪些是流程制造?他们有什么区别?

    一 离散制造业 定义 产品往往由多个零件经过一系列并不连续的工序的加工最终装配而成 典型的离散制造行业主要包括机械制造 电子电器 航空制造 汽车制造等行业 大批量生产 如 汽车 多品种小批次 如 航空 95 企业属于多品种小批次 客户需求多
  • C# .NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)

    在app config文件中写上数据库中连接信息
  • 2023年华为笔试面试机考真题100道(C/C++语言)

    1 字符串比较 给定字符串A B和正整数V A的长度与B的长度相等 请计算A中满足如下条件的最大连续子串的长度 1 该连续子串在A和B中的位置和长度均相等 2 该连续子串 A i B i 之和小于等于V 其中 A i B i 表示两个字母A
  • CTF BugKu平台——Crypto篇刷题记录(后续更新)

    CTF BugKu平台 Crypto篇 前言 抄错的字符 聪明的小羊 ok lt gt 把猪困在猪圈里 你喜欢下棋吗 小山丘的秘密 EN 气泡 你以为是md5吗 Math English easy crypto 黄道十二官 一段新闻 7 1
  • FPGA project : water_led

    module water led parameter MAX CNT 25 d25 000 000 input wire sys clk input wire sys rst n output wire 03 00 led signal r
  • “getaddrinfo failed: 在数据库查找中出现一个不可恢复的错误”的解决方法

    原因是winsock损坏了 使用命令 netsh winsock reset 然后重启即可修复 参考资料 http support microsoft com kb 811259
  • 正大国际:正确的交易与趋势无关只与系统的入场信号有关对吗?

    趋势的方向根本就和你的成功无任何关联 什么看外盘 听消息 问专家 这些除了使自己更加焦虑以外 对我们的成功交易没有丝毫的帮助 只要系统显示的是做空信号 哪怕全世界的人都看多 我们也只能做空 严格的按照系统操作才能保证亏损最小化 利润最大化
  • pip命令-Fatal error in launcher: Unable to create process using ...迁移虚拟环境后出错如何解决?

    目录 一 背景 二 解决问题日志 搜索历程 三 因迁移环境造成的该异常 之解决思路 一 背景 python版本3 8 因为作者刚开始学python时不懂虚拟环境 所以将虚拟环境安装在了一个临时文件夹中 现在 我想要把这个已经下载了大量包库的
  • python 爬虫 报错 求救

    raise JSONDecodeError Expecting value s err value from None json decoder JSONDecodeError Expecting value line 1 column 1
  • window server 2019环境下将nginx配置为开机自启动服务

    公司window服务器上面有个nginx在跑 重启服务器后没有自动启动 需要手动运行nginx 如果是非正常重启业务可能就中断了1 下载WinSW window service wraper 地址 https github com kohs
  • MATLAB实现函数拟合

    目录 一 理论知识 1 拟合与插值的区别 2 几何意义 3 误差分析 二 操作实现 1 数据准备 2 使用cftool 拟合工具箱 三 函数拟合典例 四 代码扩展 一 理论知识 1 拟合与插值的区别 通俗的说 插值的本质是根据现有离散点的信
  • Unity 动画系统 Animation 和 Animator 联系与区别

    返回目录 引言 在unity的老版本中我们只有Animation组件 在4 6版本以后则增添了Animator组件 如果只是控制一个动画的播放我们则用Animaton组件 如果是很多动画之间相互转换则使用Animator组件 它们两者的区别