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 ...
随机推荐
- 为什么要在block用weak self
block会给内部所有的对象引用计数加一,这一方面会带来潜在的retain cycle,不过我们可以通过Weak Self的手段解决.另一方面比较重要就是,它会延长对象的生命周期. 在block前面写 ...
- PostgreSQL Errors and Messages
使用RAISE语句来报告消息并抛出错误 RAISE [ level ] ’format’ [, expression [, ... ]] [ USING option = expression [, ...
- JAVA-语法-运算符
1.赋值运算符 = (优先级较低) 2.算数运算符 + — * / % 3.字符串连接运算 + (把其他类型转成字符串并和字符串类型进行连接) 4.扩展赋值运算符 += — ...
- TImageList 和 TlistView 组件(C++Builder)
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { //加载图标到Imagelist Graphics::TBitmap *bm ...
- 最长上升子序列的变形(N*log(N))hdu5256
序列变换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- ui方案设计
最近在做一个ui,前端,为了引出创意,万事开头难,记录一下: 算是单页吧,一般都是左侧是导航,右边是内容,单页的话,要记录标签关闭,窗口区域. 操作的连惯性等.UI设计是个细活,需要深加研究,以后补充 ...
- 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
我们的首页完成了,那么下一步就开始创建一个模型了, 添加好电影模型后我们来给他添加一些字段,这些字段主要还是要看我们的项目需求来添加的,因为我们的项目里有: 我们在项目中要用得上这些字段,所以要对他们 ...
- 安装kingroot之后的残留
/system/usr/icu/icusuflag.conf/system/usr/ikm/ikmsu/system/usr/iku//system/usr/attrch/system/etc/ins ...
- 「LAMP」在ubuntu及其衍生版上 安装LAMP
在Ubuntu上安装LAMP 此种方法在Linux Mint 13/14/15/16/17.Ubuntu 12.10(Quantal Quetzal)和Ubuntu 13.04 Raring Ring ...
- onTouch和onTouchEvent
public boolean dispatchTouchEvent(MotionEvent event) { if (mOnTouchListener != null && mOnTo ...