文档章节

2.Animator控制器组件

扶殊88
 扶殊88
发布于 2015/07/21 14:45
字数 1438
阅读 15
收藏 0
"Animator Controller"包含也个或多个状态机 决定当前播放哪个动画.
这些状态机通过参数控制,而参数要通过脚本进行复制


创建"Animator Controller"的方法是:
在Project视窗中 点击Create->Animator Controller
或者右键点击Assets的空白处 同样可以打开菜单进行创建

Animator Controller是通过"Animator"视窗进行管理的
打开Animator视窗的方法是:点击菜单Windows->Animator
或者双击任意"Animator Controller "资源文件
这个视窗是可调整大小的,也是可停靠的 可移动到界面的任何位置

点击"Animator"视窗左下角"Parameters"后面的"+"按钮可以创建参数
参数类型可以是:Float,Int,Bool,Trigger
参数通常代表动画的特性 或用于条件判断
比如人类行走动画,通常需要创建"Float"参数表示移动速度
当速度参数增大后"Animator Controller"会转换状态播放更快的动

有三种方法可以创建状态
第一种方法是 直接把动画剪辑拖入Animator视窗的空白处
它的"Motion"选项会自动引用刚拖入的动画剪辑
第二种方法是 右键点击"Animator"视窗的空白处 选择"Create State"
在这里有3个选项,Empty,From Selected Clip,From New Blend Tree
要了解有关"Blend Tree"的信息 请查询官网

"Empty"表示这个状态不包含任何"Motion"
如果你不想让当前动画层影响其它层动画的播放时,可以使用"Empty"状态
要了解有关"动画层“的信息,请查询官网

要选择"From Selected Clip"必须在"Project"视窗中想要使用的动画剪辑

第三种方法是在"Animation"是视窗中创建"Animation"文件
它与"Animator"视窗是分开的 且完全不同的
当你创建"Animation"时,也会自动在它的"Animator Controller"的"Base"层中创建状态
我们会在以后的课程中,讲解有关"Animation"的知识

在动画层中创建的第一个状态,为默认状态,显示为橙色
你可以右键Set As Default 改为默认状态
默认状态中的动画,也就是初始动画
选中某个状态就可以在"Inspector"中进行编辑
Inspector的最上方可以设定状态名称和标签
当你需要在特定状态下执行任何操作时,都可以通过代码引用它们
所以最好设置有意义的名称和标签
"Speed"表示动画的播放速度倍率
值为1时,表示动画以正常速度播放
"Motion"指定状态引用的动画剪辑
Foot Ikt是"Foot Inverse Kinematics"的缩写
 如果勾了这个选项 会减少或消除动画中"脚滑动"的现场
"Mirror"可以把动画左右对调
再往下是从当前状态转换至其他状态的动画过渡设置
目前还是空的,所以我们来创建一个Transition
Transition可以让"Animator Controller"从当前动画平滑过渡至另一个动画
我们可以制定过度的时间和方式 它给我们提供了高级的控制方式
创建Transition的方法是 右键点击起始状态 选择"Make Transition"
然后会有个箭头附着在你的指针位置
点击另一个状态 就完成了"Transition"的创建
然后可以选中"Transition "线段,在"Inspector"中进行编辑
每个"Transition"都有"Solo"和Mute"选项
勾选"Mute"会让"Transitio"失效
勾选 "Solo"会检测所有来自同一状态的"Transition"
并会无视没有勾选"Solo"的"Transition"
"Solo"和Mute"是用于特定区域状态机的调试工具
发布游戏的时候都不应该勾选

下面可以给"Transition"命名 再往下是"Atomic"
如果勾选了"Atomic" 那么这个"Transition"将不会被其他"transition"干扰

下面的曲线图体现了动画过度的过程
曲线图的标尺根据的是"秒"和"帧"
标尺上还有3个标记,表示动画过度的时间范围 还有个"刷子"用于预览动画过度的过程
过去起始和结束标记之间的蓝色区域表示动画从当前过度至下一个
图表中的曲线表示随着时间的流逝,哪只脚更稳定
对于跑步状态的动画,你可以看到动画曲线是连续起伏的
如果曲线在中间位置  比如静止站立的动画 两只脚都比较稳定
为了让动画平滑过渡,尝试去匹配下一个动画的曲线
但人剐两只脚都比较稳定 那么这就不那么重要了
你可以调整动画过度的起始点和终点的位置

图表下面的"Conditions"表示动画过度需要满足的条件
默认条件为"Exit Time"
这表示当前状态的动画播放到一定比例后 将会自动过度至下一个动画
条件通常是根据参数而定的 比如一个"bool"参数的真或假
或是一个"float"参数大于或小于某个常熟

如果需要 可以给"Transition"设置多个条件
点击"+"按钮 ,添加更多条件

Inspector的最下面,是动画过度的预览窗口

你可以给他同一个状态添加多个"Transition"
这通常在同一个"Transition"中 有多组条件时使用
考虑到这里有"Speed:参数 并有"Idle"和"Run"两个状态
所以设置从"Idle"过度到"Run"的条件为"Speed"不等于0
你可以创建2个"Transition"第一个条件设为"Speed >0.1"
另外一个条件设为Speed<-.01

© 著作权归作者所有

扶殊88
粉丝 28
博文 154
码字总数 35546
作品 0
浦东
程序员
私信 提问
Sencha 控制器简介(Ext.app.Controller)

本文适用于 Sencha Touch 2.x / ExtJS 4.x。 控制器,是一个完全将流程按面向对象方式设计的程序流程中的组件。例如,我们写最普通的PHP程序,页头包含 SESSION 模块,然后是访问控制。但若想...

sp42
2012/11/16
0
0
How to use components in cakephp

组件是封装了一定逻辑处理的,可以在控制器间共享使用的包。当你发现你总是需要在不同的控制器间来回拷贝代码的时候,也许就是时候把这些可以共有的代码打个包,写成组件了。 一:如何创建组...

Adam-Lee
2011/09/26
0
0
SAP CRM 复用视图

  在设计任何视图或组件的时候,我们需要以可复用的方式来设计它。UI组件设计的主要目标即可复用。   例如:几乎每个事务都要处理合作伙伴(客户)。如果我们想要在Web UI显示那些合作伙...

邹君安
2017/05/06
0
0
使用Angular CLI生成的项目结构解说

项目结构 组件,是整个应用的基础。下图是组件的必备元素。 @Component:组件元数据装饰器,简称装饰器。装饰器告诉Angular框架如何处理一个TypeScript类。装饰器包含多个属性,属性的值叫做...

灯下草虫鸣_
2017/10/29
0
0
Ember.js的组件如何使用sendAction与控制器、路由通信

原文地址:http://120.24.90.140:2368/communicating-with-ember-js-components-using-sendaction/ 组件和sendAction方法 很多开发者对于方法的使用理解不清晰,本文结合示例为读者介绍怎么使...

ubuntuvim
2016/01/26
208
0

没有更多内容

加载失败,请刷新页面

加载更多

tomcat 莫名奔溃问题

Apr 24, 2019 6:18:11 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-nio-8080"] Apr 24, 2019 6:18:12 PM org.apache.coyote.AbstractProtocol pause......

mellen
20分钟前
0
0
组件开发规范 class名身份识别

组件需要通过一个组件共有的class来标识这个组件,外部调用的时候,可以通过锁定这个class来方便地改变组件的css样式。 设置方式 .my-checkbox { width: 20px; height: 20px; font-...

Carbenson
28分钟前
1
0
如何在工作中快速成长?致工程师的10个简单技巧

阿里妹导读:阿里有句非常经典的土话,“今天的最好表现,是明天的最低要求。”如何挖掘潜能、发现更好的自己?今天,阿里巴巴高级无线开发专家江建明将认知升级的方法总结出来,帮助你获得快...

阿里云云栖社区
47分钟前
2
0
PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。 抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对...

xiaogg
49分钟前
1
0
从数据上看:谁才是漫威的绝对C位

复联4上映了!这次比美国还早了两天。当然,我还没看,不会给你们剧透,当然也不想不剧透。 这一部不仅是灭霸这一线剧情的结局,也被认为漫威第三阶段的收官之作。据说此部之后,不少影迷熟知...

crossin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部