前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【100个 Unity实用技能】☀️ | Unity 复用动画控制器 Animator Override Controller 的简单使用

【100个 Unity实用技能】☀️ | Unity 复用动画控制器 Animator Override Controller 的简单使用

作者头像
呆呆敲代码的小Y
发布2022-11-18 16:21:31
1.3K0
发布2022-11-18 16:21:31
举报

Unity 实用小技能学习

Unity 复用动画控制器 Animator override controller 的简单使用

本篇文章介绍一下Unity中的 复用动画控制器: Animator Override Controller

Animator Override Controller 是用来配合Animator Controller使用的,它让Animator Controller变得更加实用,可以让不同的使用实例的在同一状态播放不同的动作,但保留原有的结构、参数和逻辑。

Animator Override Controller 官方API介绍地址:

https://docs.unity3d.com/ScriptReference/AnimatorOverrideController.html

具体使用事例:

新建一个Animator Override ControllerAnimator Controller,右键Create即可。

在这里插入图片描述
在这里插入图片描述

Animator Override Controller有一个小的加号‘+’,可以看到与Animator Controller有所区别。

在这里插入图片描述
在这里插入图片描述

我们在 Animator Controller 中添加几个动画片段,如 Idle 与 Move。

在这里插入图片描述
在这里插入图片描述

此时可以通过新建多个AnimatorOverrideController来添加使用同一个Animator Controller,但是使用不同的动画片段来控制角色进行播放不同的动画了。

在这里插入图片描述
在这里插入图片描述

这样我们就可以在几个不同的角色身上挂载同一个AnimatorController,然后通过更换Animator Override Controller控制不同动画片段的播放了。

代码语言:javascript
复制
//通过代码更换AnimatorController的Animator Override Controller
animator.runtimeAnimatorController = animatorOverrideController;

前提是这几个不同的角色的几个动画状态应该是一致的,比如都有走路、攻击、奔跑的状态,且不同片段之间的转换条件都是一样的。

在不使用 Animator Override Controller 的情况下,我们通常的做法是一人一个 AnimatorController 来完成不同动画片段切换。

再比如在FPS游戏中,我们在有多个枪支的情况下,也可以只使用一个AnimatorController,通过添加多个Animator Override Controller来实现开枪、换弹等动画片段的转换。

优点

  1. 使用的是同一份Animator Controller的转换逻辑,要修改的话非常方便,只要改一个地方就够了。
  2. Animator Override Controller 的文件大小比Animator Controller小很多,毕竟它只存储了状态对应的播放动画,而没记录其他转换、事件之类的各种信息。
  3. 在开发过程中发现,在RunTime中实时切换Animator Override Controller是可以实现的,但是实时切换 AnimatorController 只能再Editor中才可以,打包程序会报错,所以这也是使用Animator Override Controller的一个必要条件。当然如果不需要在运行过程中切换某个对象的动画控制器,那就使用AnimatorController就好啦 !

不足:优点1同时也是它的缺点,因为只能够定制播放的动画,所以如果想要在其他设置中也想要单独特化的话,就做不到了。

本篇文章就到这里啦,简单介绍一下 Animator Override Controller 的使用方法就好了,一般不是很常用。

后面有需要的话会再对 Animator Override Controller 进行一个详细的介绍。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Unity 实用小技能学习
    • Unity 复用动画控制器 Animator override controller 的简单使用
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档