Unity-Animator深入系列---状态机面板深入
本篇不讲解所有的面板功能,只是针对一些非常用功能进行介绍。
1.状态
1.1状态简介

简单的不做介绍了,需要特别注意:
1.Paramter勾选后可以指定参数控制具体属性
2.Write Defaults勾选后用默认动画剪辑属性覆盖到状态上
3.Foot IK 勾选上之后会有一个脚部IK修正,有一次角色跑动不自然,当我勾选上就好了。
至于斜坡地形的脚步自适配,这个好像不是很好用

1.1子状态
右键即可添加子状态,子状态中可以放入若干状态,一般都会用到。
这里有个小技巧,在子状态里双击空白处可以立即跳回主状态(unity5.4.x是可用的)
具体可以参考圣典:LINK


1.2混合树
混合树可以参考官方状态机项目的Generic Skeleton Example
这里给出圣典的链接:LINK
右键Create State>From New Blend Tree即可创建混合树

Blend Type可以设置混合树类型,右下角加号可以添加新的运动进入混合树,或者添加子混合树

回到状态机面板可以点击左上角:

这里不多做介绍,可以看官方的Generic Skeleton Example

2.Transition
2.1 has exit time
Has Exit Time在4.x版本名叫Atomic,但其功能都一样
下图左边是Has Exit Time勾上,右边是没勾
可以看见勾上后,等状态结束才会切换状态。而不勾上任何时候都可以切换

2.2.Solo与Mute
这个功能用在调试时,Mute相当于把目标过渡禁用掉。Solo表示只生效这一条过渡
可以多选,当选中后会出现箭头提示
条件满足优先于Solo/Mute,当条件没有满足时依然不会过渡


3.FBX设置面板
3.1.循环匹配(面板绿灯)
当设置了根骨骼后,Unity会自动帮你进行循环匹配的测试
所以匹配就是指动画开始和结束的根骨骼位置是否有偏离
但有些动画肯定是要有偏离的,所以这个匹配只是作为参考
圣典的链接:LINK

通过拖动时间轴,可以看见运动曲线:

4.Layers Setting
4.1.层的设置
点击齿轮按钮,即可设置层的参数

Weight - 层的权重,多个层时可以设置
Mask - 身体遮罩对层的影响,在Create>Avatar Mask中可以创建。这个可以参考Unity状态机例子工程的Animator Controller场景

Blending - 混合模式,可以看下图

Sync - 同步层,打开后2个层所有状态同步,且不可编辑。但可以替换动画剪辑。类似Animator Override Controller,官方表示比如需要做负伤状态的动画,可以使用该功能,替换成负伤状态的移动,空闲等
Timing - 当打开Sync时,才可以打开该选项。这时同步层可以取得被同步层的控制权
下图中默认的剪辑长度是90帧,而同步层的剪辑长度是299帧。可见,如果同步层的剪辑长度不一致,会出现加速的情况
如果不想加速就打开这个开关
(左边是开启Timing,右边是未开启)

IK Pass - 开启这个选项后,脚本才可以控制IK。
Unity-Animator深入系列---状态机面板深入的更多相关文章
- 【转】unity Animator 怎么判断一个动画播放结束
关于unity Animator 怎么判断一个动画播放结束这里有几种方法.希望对大家有帮助.还有其他办法的可以分享一下 第一种方法:在动画结束帧后面加个动画事件,调用下含这个变量的函数接口不是可以了? ...
- 【转】Unity Animator卡顿研究
Unity Animator卡顿研究 发表于2017-07-26 点赞3 评论3 分享 分享到 2.3k浏览 想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群 ...
- Unity Animator动画状态机 深入理解(一)
接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...
- Unity Animator动画状态机 深入理解(三)二维混合树
介绍二维之前,先说说一维吧~ 这个是通过旋转角度速度快慢来表现身体的大转和中转~ 通过一个-133~133的数值来进行控制. 注:后面的那个对钩是镜像的意思. 其实二维混合树并没有想象中的那么难.先来 ...
- Unity Animator动画状态机 深入理解(二)IK控制
IK还是一个很神奇和实用的东西啊,起码可以用代码来控制人物骨骼位置还是很爽的.因为不是动画师~ 这篇可能跟Animator没啥关系了哈,都是代码层的. 看了一官方的案例,老的,有些问题,自己修改了一下 ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- 【Unity Shader】自定义材质面板的小技巧
写在前面 之前遇到过一些朋友问怎么在材质面板里定义类似于bool这种变量,控制一些代码的执行.我们当然可以写一个C#文件来自定义材质面板,就像Unity为Standard Shader写材质面板一样( ...
- unity使用ugui自制调色面板
突然想实现一个调色面板,然后开工... 首先找找有没有什么接口可调,木有找到,找到一些调用win32实现的本地颜色面板的调用,感觉不科学,反正多平台肯定是搞不定的. 既然没找到,还是老老实实的自己写吧 ...
- [Unity动画]06.子状态机
参考链接: https://www.jianshu.com/p/6b1db3d060ac?utm_campaign=maleskine&utm_content=note&utm_med ...
随机推荐
- 在Adobe AIR/AS 程序中 如何设置目录
首先所有目录都以 "File:///"开头,无论Mac或者Windows 后面的路径 Windows: E:/WorkGround/Txt.txt --> "Fi ...
- 河南省第八届ACM程序设计大赛总结
简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...
- poj: 2255
跟LEETCODE的preorder,inorder转postorder题很像 #include <iostream> #include <stdio.h> #include ...
- 。。。Hibernate 查询数据 事务管理。。。
在Hibernate中,查询数据的时候,可能会需要事务的管理,为什么呢?因为在查询数据库的时候,Hibernate将数据从数据库里面查询出来之后,会先把数据放入Hibernate的session缓存里 ...
- 在C#中使用LOG4NET(winform程序
http://www.csharpwin.com/csharpspace/678.shtml 1.下载log4net (Google log4net) 2.unzip log4net 3.运行VS,新 ...
- c#如实现将一个数字转化为其他进制字符串输出
之前在 os 上看到有人说过 一直想整理 但是一直没时间 后来 从csdn 上 知道了一份 下面内容 来自 (1)http://bbs.csdn.net/topics/60512816 tost ...
- Perl中的替换(七)
在Perl中使用s///进行替换操作,与m//进行查找操作类似. s/with (\w+)/against $1's team/; ##第一个双斜线,表示被替代的文本.第二个双斜线,表示将替 ...
- PAT乙级 1030. 完美数列(25)
1030. 完美数列(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 给定一个正整数数列,和正整数p,设这 ...
- 【py分析网页】可能有用的-re去除网页上的杂碎
def remove_js_css (content): """ remove the the javascript and the stylesheet and the ...
- 【crunch bang】国内源
/etc/apt/sources.list 因为测试需要,装完Debian7 后,更新为163的源,但是后来装软件时,一些软件依赖包还是装不上.后来把163源稍加改动,就好用了.163源内容如下: d ...