前阵子在做动画相关的内容,整理一下Animator。

1.动画切换

1.1状态之间的切换,在状态间连线(Make Transition),并且设置触发条件,代码里调用SetTrigger、SetBool等进行触发。

1.2Transition的属性

Has Exit Time:勾选表示需要播完动画才能退出

Exit Time:动画退出的时间,例如0.8表示播放80%的动画就可以转换到下一个状态。

Fixed Duration:勾选表示固定时间,不勾选表示百分比。

Transition Time:过渡时间

Transition Offset:目标状态开始的时间,0.2表示是20%开始播放。

Interruption Source和Ordered Interruption我也没用过。。。只是看过一篇关于这个的文章http://www.manew.com/thread-142391-1-1.html

Conditions:可以设置N个跳转的条件。

1.3动画融合的函数

CrossFade函数,CrossFade(string stateName, float normalizedTransitionDuration, int layer, float normalizedTimeOffset)

stateName:目标状态的名字

normalizedTransitionDuration:过渡的时间为百分比,和上面的Transition Time相似

layer:层级,-1和0都是BaseLayer

normalizedTimeOffset:目标动画开始的偏移量,和上面的Transition Offset相似

CrossFadeInFixedTime(int stateHashName, float fixedTransitionDuration, int layer, float fixedTimeOffset)函数,第二个和第四个参数表示具体时间。其他和CrossFade一样

当crossfade的参数和上面连线的Transition参数一样时,可以获得一样的过渡效果。

1.4play函数

play函数,直接播放动画,没有融合。

2.子状态机

可以把相关状态的做成一个状态集合,比如一个防御状态集合下面有普通防御、防御格挡、防御反击的子状态。可以使逻辑更清晰。

3.Blend Tree混合树

最适合做移动动画的混合树,把前后左右移动的动画混合,通过参数的具体数值表现不同的混合动画。

4.layer动画层级

baselayer可以用来处理基本的动作切换,层级更高的动画可以做附加的一些动画用于混合,比如表情。

新建层级

weight:层的权重

Mask:身体遮罩(下图表示只显示头部动画)

Blending:override表示覆盖,addtive表示叠加

sync:表示与某个层(source layer里选择)的状态机同步,但是可以替换其中的动画。可以用在受伤时或者其他类似的情况。

Timing:勾选就是按复制层播放,不勾选就是按source层播放

IK pass:使用IK(反向动力学)动画,根据骨骼节点推算其父节点的位置。

想到之前的游戏有硬直打断感觉与Animator息息相关,又能说好些东西,之后捋一捋发吧。。。

Animator的小记的更多相关文章

  1. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  2. Animator Controller 继承关系

    准备知识 对于Animator Controller中蜘蛛网一样的几十条连线,后续如果靠人工维护,那成本将是很大. AnimatorOverrideController组件的文档:https://do ...

  3. Unity Animator动画状态机 深入理解(二)IK控制

    IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...

  4. Unity Animator动画状态机 深入理解(一)

    接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...

  5. MySql 小记

    MySql  简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...

  6. Git小记

    Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...

  7. 广州PostgreSQL用户会技术交流会小记 2015-9-19

    广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...

  8. 东哥读书小记 之 《MacTalk人生元编程》

         一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...

  9. Paypal支付小记

    Paypal支付小记 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...

随机推荐

  1. Codeforces Round #177 (Div. 1 + Div. 2)

    A. Polo the Penguin and Segments 模拟. B. Polo the Penguin and Matrix 每个数字模d余数必须一样. 枚举结果,可计算操作次数,取最小. ...

  2. Javassist指引(一)

    目录 原文链接 1. 读写字节码 1.1概述 Javassist是一个Java字节码类库.Java的字节码是包含Java类与接口,并按照一定的顺序存在class文件中. Javassist.CtCla ...

  3. PHP开源框架Laravel的安装与配置

    编将带领大家一步步在Windows 7平台下搭建该框架: 工具/原料   windows 7 Composer Laravel最新框架 方法/步骤   1 安装composer.安装之前要确保目录:w ...

  4. Gora是一个类似Hibernate的ORM框架

    Gora是一个类似Hibernate的ORM框架,但是不只是支持关系数据库,更重要支持NoSQL之类大数据的存储. 支持NoSQL之类大数据的存储 Apache Gora是一个开源的ORM(Objec ...

  5. 【codeforces 766A】Mahmoud and Longest Uncommon Subsequence

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. java 利用反射创建对象

    创建对象: 1.使用Class对象的newInstance()方法创建该Class对象的实例,此时该Class对象必须要有无参数的构造方法. 2.使用Class对象获取指定的Constructor对象 ...

  7. Moq基础 判断方法被执行

    如果想知道注入的类的某个方法被使用了几次,就可以通过 mock 提供的方法进行判断方法有没被执行或被使用多少次 本文是一个系列,具体请看 Moq基础(一) 为什么需要单元测试框架 Moq基础(二) 快 ...

  8. H3C 802.1X基本配置

  9. 深度解读 - TDD详细(测试驱动开发)

    本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有广义和狭义之分,常说的是狭义的 TDD,也就是 UTDD(Unit Test Driv ...

  10. linux alloc_pages 接口

    为完整起见, 我们介绍另一个内存分配的接口, 尽管我们不会准备使用它直到 15 章. 现 在, 能够说 struct page 是一个描述一个内存页的内部内核结构. 如同我们将见到的, 在内核中有许多 ...