Animator Controller 继承关系

简介:


准备知识

对于Animator Controller中蜘蛛网一样的几十条连线,后续如果靠人工维护,那成本将是很大。

AnimatorOverrideController组件的文档:https://docs.unity3d.com/Manual/AnimatorOverrideController.html

从文档中的意思可知,Animator Controller的参数及动画拓扑关系(状态机)是可以继承的

使用情景

比如:游戏中的部分NPC动作切换逻辑,及动作参数是一样的,但他们播放的具体的动作可能是不一样的。那要如何利用Animator Controller去组织呢?

1.创建一个Animator Ctroller作为base,里面包括动作切换逻辑,及参数

2. 特定的NPC继承Base有相同的逻辑,但播放不同的动作。

使用示例

1. 创建一个Animator Cotroller Base,里面组织好动画的状态机,及转换参数

image

图:NPCBase_Animation_Controller.controller

 

2.创建一个Animator Override Controller,在Controller中赋值

image

图:NPC1_Animator_Override_Controller.overrideController

 

3. 为NPC1添加新的Animaclip

image

图:添加新的AnimaClip就会override 父类的AnimaClip

 

4. 为Npc1的Animator使用override的Ctroller,就可以正常播放动作了。

image

图:override 父类的AnimaCliP


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/6085785.html,如需转载请自行联系原作者

相关文章
|
Java Android开发
Adroid RecyclerView adapter 封装
Adroid RecyclerView adapter 封装
|
前端开发 JavaScript 开发者
class-使用 extends 实现子类继承父类|学习笔记
快速学习 class-使用 extends 实现子类继承父类
119 0
|
设计模式
结构型-Adapter
适配器模式的原理与实现 适配器模式 的英文翻译是 Adapter Design Pattern。顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。对于这个模式,有一个经常被拿来解释它的例子,就是 USB 转接头充当适配器,把两种不兼容的接口,通过转接变得可以一起工作。 原理很简单,我们再来看下它的代码实现。适配器模式有两种实现方式:类适配器和对象适配器。其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。具体的代码实现如下所示。其中,ITarget 表示要转化成的接口定义。Adaptee 是一组不兼容 ITa
119 0
结构型-Adapter
|
前端开发 JavaScript
class-使用extends实现子类继承父类
class-使用extends实现子类继承父类
|
敏捷开发 开发者
你怎么总是能写出两三千行的controller类?(上)
你一定经常见到一个两三千行的 controller 类,类之所以发展成如此庞大,有如下原因: 长函数太多 类里面有特别多的字段和函数 量变引起质变,可能每个函数都很短小,但数量太多
170 0
你怎么总是能写出两三千行的controller类?(上)
适配器模式(Adapter)
一 概述 定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。
920 0
|
XML Android开发 数据格式
Activity子类详解
前言 往者不可谏,来者犹可追。 建立自己的Activity需要继承Activity基类。当然,在不同的场景下,你也可以继承Activity的子类来简化开发。
1048 0
|
XML Android开发 数据格式
UI组件-ImageView及其子类
前言 时间有限,追索生命的诚意和真实,比什么都重要。 ImageView组件 ImageView继承自View组件,它的主要功能是用于显示任何Drawable对象。
929 0