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 ...
随机推荐
- Socket 编程
- linux 内核模块ko入门
http://blog.csdn.net/elfylin/article/details/5908265
- keil 编译的一些错误
以前使用的是MDK4.5 但是没有stm32F3的元器件,果断的使用了4.6版本了.但是编译之后出现这样错误:linking....\Obj\prj.axf: Warning: L6373W: lib ...
- [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- poj: 3006
简单题 #include <iostream> #include <stdio.h> #include <string> #include <stack> ...
- struts几个配置文件加载顺序_2015.01.04
struts几个配置文件加载顺序: 01:struts-default.xml 02:struts-plugin.xml 03:struts.xml 04:struts.properties 05:w ...
- java dom4j写入XML
引用的两个jar包 dom4j-1.6.1.jar jaxen.jar //=========================代码 import java.io.FileWriter;import j ...
- getResource().getPath()返回的路径空格变成了 %20
this.getClass().getResource(“/”).getPath()使用者方法查看文件在服务器上的地址,但是地址中的空格会被转化为%20. 解决办法1: URI uri = new U ...
- vim多行缩进的方法
在visual模式下选中要缩进的行,然后按>
- 七、Java基础---------JDK安装与配置
配置环境变量名词说明 path:通过path系统去寻找可执行的java文件. JAVA_HOME:JDK的安装目录 classpath:加载目录 为什么需要配置path,什么时候需要classpath ...