Animator的小记
前阵子在做动画相关的内容,整理一下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的小记的更多相关文章
- [原]Paste.deploy 与 WSGI, keystone 小记
Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...
- Animator Controller 继承关系
准备知识 对于Animator Controller中蜘蛛网一样的几十条连线,后续如果靠人工维护,那成本将是很大. AnimatorOverrideController组件的文档:https://do ...
- Unity Animator动画状态机 深入理解(二)IK控制
IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...
- Unity Animator动画状态机 深入理解(一)
接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...
- MySql 小记
MySql 简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...
- Git小记
Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...
- 广州PostgreSQL用户会技术交流会小记 2015-9-19
广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...
- 东哥读书小记 之 《MacTalk人生元编程》
一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...
- Paypal支付小记
Paypal支付小记 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...
随机推荐
- 洛谷P1981 表达式求值 题解 栈/中缀转后缀
题目链接:https://www.luogu.org/problem/P1981 这道题目就是一道简化的中缀转后缀,因为这里比较简单,只有加号(+)和乘号(*),所以我们只需要开一个存放数值的栈就可以 ...
- Activiti7工作流+SpringBoot
文章目录 一. Activiti相关概念 1. Activiti介绍 2. 核心类 2.1 ProcessEngine 2.2 服务(Service)类 2.2.1 TaskService 2.2.2 ...
- H3C PPP MP配置示例一
- 在eclipse中建立lua开发环境
1. 给你的eclipse安装LuaEclipse,新增Eclipse Software Update Site“http://luaeclipse.luaforge.net/update-site ...
- Javassist指引(二)--ClassPool
原文链接 上一章: Javassist指引(一) 2.ClassPool ClassPool是一个CtClass的容器.因为编译器随时可能访问一个CtClass类,所以一旦一个CtClass创建,它将 ...
- 判断当前所使用python的版本和来源
import sys print(sys.prefix) print(sys.executable) 怎样判断当前py文件在什么版本的python环境下运行 import sys print(sys. ...
- [转]在eclipse中,用maven创建一个web项目工程
1.在eclipse中用maven创建项目,右键new>>Maven Project 2.点击next继续 3.点击next继续,选择maven-archetype-webapp, 4.点 ...
- Activiti - 新一代的开源 BPM 引擎
http://www.ibm.com/developerworks/cn/Java/j-lo-activiti1/ ****************************************** ...
- [转]Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...
- H3C 静态黑洞路由应用