本文由博主(YinaPan)原创,转载请注明出处: http://www.cnblogs.com/xsln/p/Animator_Override_Controller.html

一、Animator Override Controller简介:
  动画覆盖器是一类asset,它允许你扩张已经存在的动画控制器,用特定的animations,但是需要保留原始的结构、参数和逻辑;

这就允许你创建同一个基础状态机的多个变种,这些变种使用不同的animations。

  例如:你有一系列的npc生活在游戏中,他们有自己的独特走、idle、坐等animations,创建一个基础动画控制器,包含所有种类npc的逻辑,

你就可以创建一个override为每一种NPC,然后用他们各自的animation去填充;

二、制作方法:

图标:带+号为Override Controller

1、Create选择Animator Override Controller

2、修改名字为M2_P01

3、将原来的AnimtorController拖到Controller内,即制作完成!

三、使用及this[]的性能测试

 using UnityEngine;
using System.Collections; public class AnimatorOveridePerformance : MonoBehaviour {
public bool m_test = true;
Animator m_animator = null;
AnimatorOverrideController m_Old = null;
AnimatorOverrideController m_New = null; // Use this for initialization
void Start () {
m_animator = GetComponent<Animator>();
m_Old = new AnimatorOverrideController();
m_New = Resources.Load<AnimatorOverrideController>("Packages/ArtWorks/Player/M2/M2_P04/M2_P04");
Debug.LogError(m_New);
m_Old = (AnimatorOverrideController)m_animator.runtimeAnimatorController;
if (null != m_New) {
Debug.LogError(m_Old["P01Attack01"]);
Debug.LogError(m_Old["P01Attack02"]);
m_Old["P01Attack01"] = m_New["P04Attack01"];
m_Old["P01Attack02"] = m_New["P04Attack02"];
Debug.LogError(m_Old["P01Attack01"]);
Debug.LogError(m_Old["P01Attack02"]);
}
} void Update() {
Profiler.BeginSample("Update");
if (m_test && m_New) {
Profiler.BeginSample("this[]");
m_Old["P01Attack01"] = m_New["P04Attack01"];
m_Old["P01Attack02"] = m_New["P04Attack02"];
Profiler.EndSample();
}
Profiler.EndSample();
} }
测试结果:
     单次取和设置消耗约为0.5~1ms左右;

Animator Override Controller学习及性能测试的更多相关文章

  1. Animator Override Controllers 学习及性能测试

    本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Unity_AnimatorOverrideContorller.html  The ...

  2. 如何学习LoadRunner性能测试?

    最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...

  3. 基于设备树的controller学习(2)

    作者 彭东林 pengdonglin137@163.com 平台 TQ2440 Linux-4.10.17 概述 上一篇大概介绍了一下demo-controller的结构,下面结合驱动分析.   正文 ...

  4. JMeter学习-030-JMeter性能测试常用之事务控制器实例

    通常进行性能测试时,我们一般仅考虑主要的数据返回,不考虑页面渲染所需要的数据(例如:css.js.图片等).但当我们需要衡量打开一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片 ...

  5. jmeter Transaction Controller学习

    测试计划组成:一个计时器(2秒),一个事物控制器,两个http request 在Transaction Controller中不勾选第2个选项就相当于lr中的忽略思考时间 没有勾选第2项的执行结果: ...

  6. jmeter ForEach Controller学习

    ForEach Controller: foreach一般和用户定义变量一起使用,在用户定义变量中定义3个变量 foreach中输出变量名称(vname),这种方式可以生成一个vname的变量,点击运 ...

  7. Animation Override Controller动画重载器

    假设游戏有很多个小人, 每一个人有2种动画站立,跑.  在通常情况下每一个人物都需要一个动画控制器. 有没有想过定义一个动画控制器 无须在定义全新的动画充值器实现每一个小人都播放自己的动画呢?没错An ...

  8. httprunner学习16-locust性能测试

    前言 HttpRunner 的 yaml 脚本文件,可以结合locust做性能测试 locust环境准备 安装完成 HttpRunner 后,系统中会新增locusts命令,但不会同时安装 Locus ...

  9. ForEach Controller学习

    1.ForEach Controller(循环控制器) 作用:ForEach Controlle一般和用户自定义变量(User Defined Variables)一起使用,其在用户自定义变量中读取一 ...

随机推荐

  1. JavaScript Promise迷你书(中文版)

    最近,发现了一个很不错的关于Promise介绍的迷你电子版书,分享给大家: http://liubin.org/promises-book/#chapter4-advanced-promise (篇幅 ...

  2. sql预计简单分页

    在显示记录条目时往往要用到分页,一种常用的办法是利用各种数据库自带的定位接口对原始查询语句进行改写,从而只取出特定范围的某些记录.不同的数据库,查询定位接口是不一样的,下面做一汇总: 数据库 分页查询 ...

  3. Linux 排错 误删 /etc/fstab 和 /boot怎样恢复

    实验:在分区情况下,rm -rf /boot和/etc/fstab,恢复 首先我们查看一下/etc/fstab 里面放的是什么东西,从下图可以看出里面存放的是分区的挂载情况,删除分区将不能自动挂载 接 ...

  4. vs必备快捷键整理

    .格式化代码:Ctrl+E,D .格式化部分代码:选中代码->Ctrl+K,F.或者Ctrl+E,F. .折叠cs文件所有方法:Ctrl+M,O .打开或折叠所有代码:Ctrl+M,L (打开或 ...

  5. purge recyclebin之后dba_segments仍然有BIN$段

    现象: purge recyclebin之后dba_segments仍然有BIN$段. 如下,执行了purge recyclebin之后: SQL> select segment_name,SE ...

  6. datatable 使用LAMBDA表达查询,过滤

    DataTable dt = new DataTable(); DataColumn dc = new DataColumn("UserName", System.Type.Get ...

  7. Python3.6的组件numpy的安装

    安装numpy,scipy,scikit-learn,matplotlib 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 我的版本是win10+py ...

  8. Word 2010 小技巧篇

    1.选择文本的妙招

  9. CSS+transform画动态表情

    先给大家看下画完后是什么样子: 代码看这里: html代码: <body> <div class="emoji emoji_like"> <div c ...

  10. CF 217A Ice Skating

    A. Ice Skating time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...