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 ...
随机推荐
- xshell评估期已过怎么办
重新下载更新即可,不要看到英文一脸懵逼,直接在页面中有红色*号的地方输入个人信息,licensetype 必须选 Home and School use(家庭和个人使用),最主要的是输入邮箱(必须是个 ...
- Python--day20--序列化模块
序列化:转向一个字符串数据类型 序列 ———— 字符串 序列化和反序列化的概念: 序列化三种方法:json pickle shelve json模块:json模块提供了四个方法dumps和load ...
- Laravel 中config的用法
Laravel的config下一般存放配置信息,可以通过config('key')方法获取指定的数据. 设置值可通过「点」式语法读取,其中包含要访问的文件名以及选项名称. 现在想读取\config\a ...
- Tomcat停,图片名字中文显示不出来
Tomcat停,图片名字中文显示不出来 Tomcat下,图片名字中文显示不出来在tomcat的server.xml中加入URIEncoding="utf-8"<Con ...
- webpack学习(四)配置plugins
1 plugins是什么??? 如果学过vue和react肯定知道生命周期函数,而生命周期函数实际上就是当程序运行在某个时刻一定会发生的函数. plugins其实也是如此,我们在项目中配置相应的plu ...
- Python--day32--复习:https和http的区别;黏包;黏包问题的解决方式;
1,https和http的区别: https比较安全,传输的时候先对内容进行加密,收到后再进行解密:它的传输内容不容易拦截,就算拦截下来了,也是加密的,看不懂.但是要买证书,一年要好几万,小公司承担不 ...
- H3C 根据主机地址数划分子网
- 【43.49%】【hdu3308】LCIS
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- 基于koa2操作mysql封装例子
新建better-mysql.js const mysql = require('mysql'); const config = require('../config/sqlConfig.js') l ...
- 【2016常州一中夏令营Day4】
小 W 走迷宫[问题描述]小 W 被小 M 困在了一个方格矩阵迷宫里,矩阵边界在无穷远处,我们做出如下的假设:a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上:b. 走过的格子立即塌陷无 ...