【Unity3D】Mecanim 盲点学习记录--Animator Controler Component
###Layers :动画分层
作用:Unity使用“动画层”来管理身体不同部分的复杂状态机。比如:你可以使用下半身(动画)层来管理走动/跑动;使用上半身(动画)层来控制投掷/设计动作。
Weight:动画层的权重,多个层时可以设置,权重取值0-1,默认的Base Layer必须为1。如果设置为0则当前层的动画不会播放,1则会播放,0-1之间会采用混合播放动画。
Mask:指定该层使用的身体蒙皮。在Create>Avatar Mask中可以创建。
Blending:动画混合方式;
- Override:覆盖,表示当前层的动画会覆盖掉其它层的动画;
- Additive:添加,表示当前层的动画的量添加到其它层的动画;
Sync:有些时候在不同层中能够重用一些 相同的状态机 是很有用的。比如:如果你希望模拟一个“负伤”的行为,并且这个“负伤”的动画是为代替走动/跑动/跳动中“健康”(的动画)。你可以点击某个层上的“同步”(Sync)复选框,并且选择你希望同步的那一层。这样的话,这些状态机结构将会保持一致,但是实际的动画剪辑会有区别。
勾选 Sync 选项后,会出现以下功能选项:
Timing:
- 当前层和Souurce层同一个状态使用的动画时间长度不一致时,不勾选复制的层按Source层的时间播放(效果就是复制层动画可能会变快或变慢,Source层动画播放速度不变),勾选则Source层按复制层的时间播放(效果就是Source层动画可能会变快或变慢,复制层动画播放速度不变)。
- 下图中默认的剪辑长度是90帧,而同步层的剪辑长度是299帧。如果同步层的剪辑长度不一致,同步层的动画剪辑长度就为90帧,就会出现加速的现象,如果勾选Timing,则会不受被同步层的帧数影响,会按照当前动画剪辑帧数播放。
- (左边是开启Timing,右边是未开启)
SourceLayer:
- 指定被同步层,设定后当前层的状态会和指定层完全一致或完全同步,但是我们仍然可以修改同步层某一个状态的动画剪辑。
IK Pass:表示启动IK动画
- IK(Inverse Kinematics) 即反向动力学,即可以使用场景中的各种物体来控制和影响角色身体部位的运动,一般来说骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学),而 FK 则倒过来,由骨骼子节点带动骨骼父节点,具体情况比如人物走路踩到了石头就需要由脚的子节点来带动全身骨骼做出踩到石头的响应。
- 控制IK的脚本必须添加到 OnAnimatorIK 方法中才会生效。
- 在需要用到IK的动画的属性窗口(Inspector)中,对于要使用IK的动画状态勾上 Foot IK 选项
###Parameters:动画参数
Trigger:本质上是一个bool类型的参数,但是其值默认为false,且设置为true后系统会自动将其还原为false
###动画状态界面
Mirror:镜像可以反转当前动画
Cycle Offset:周期偏移,会影响动画开始的起始位置
Paramter:勾选后可以指定参数控制具体属性
Write Defaults:勾选后用默认动画剪辑属性覆盖到状态上
Foot IK:勾选上之后会有一个脚部IK修正
###BlendTree混合树
####(暂时只记录一维混合树)
时间缩放:可以使用动画速度数字字段(顶部具有时钟图标的列)改变动画片段 (Animation Clip) 的“自然”速度,从而可以通过使用值 2.0 作为速度,使行走速度是以前的两倍。调整时间尺度 (Adjust Time Scale) > 均匀速度 (Homogeneous Speed) 按钮可重新调整片段的速度,以便它们符合参数的最小值和最大值,但是保持最初具有的相同相对速度。
镜像:可以通过启用最右侧的镜像开关来镜像运动列表中的任何类人动画片段 (Animation Clip)。此功能使您可以采用原始形式和镜像版本使用相同动画,而无需两次使用内存和空间。
Compute Thresholds:计算阈(yu)值
下拉菜单会从当前动画片段中的根运动获取的数据选择来设置阈值。可供选择的数据有速度 (speed)、速率 (velocity) x、速率 (velocity) y 或速率 (velocity) z 以及角速度 (angular speed)(以度或弧度为单位)。如果参数 (parameter) 对应于这些属性之一,则可以使用计算阀值 (Compute Threshold) 下拉菜单计算阈值。
注意,仅当所有运动都是动画片段 而不是子混合树时,调整时间尺度 (Adjust Time Scale) 下拉菜单才可用。
属性: | 功能: |
---|---|
速度 (Speed) | 根据各个运动的速度(速率的量级)设置其阈值。 |
速率 X (Velocity X) | 根据各个运动的速率 (velocity) x 设置其阈值。 |
速率 Y (Velocity Y) | 根据各个运动的速率 (velocity) y 设置其阈值。 |
速率 Z (Velocity Z) | 根据各个运动的速率 (velocity) z 设置其阈值。 |
角速度(弧度)(Angular Speed (Rad) | 根据各个运动的角速度(以弧度/秒为单位)设置其阈值。 |
角速度(度)(Angular Speed (Deg) | 根据各个运动的角速度(以度/秒为单位)设置其阈值。 |
也就是说,例如您的行走动画每秒行进 1.5 个单位,慢跑动画每秒行进 2.3 个单位,而奔跑动画每秒行进 4 个单位,那么从下拉菜单中选择速度 (Speed) 选项会根据这些值设置三个动画的参数范围和阈值。 因此,如果将速度参数设置为 3.0,则它会混合慢跑和奔跑动画,略偏向于慢跑。
参考资料:
https://docs.unity3d.com/Manual/AnimatorControllers.html
http://docs.manew.com/Components/class-BlendTree.html
https://www.cnblogs.com/hont/p/5099213.html?utm_source=tuicool&utm_medium=referral
Layers : http://blog.csdn.net/cbbbc/article/details/59109301
IK : https://www.cnblogs.com/hammerc/p/4829943.html
BlendTree : http://blog.csdn.net/yupu56/article/details/53585304
【Unity3D】Mecanim 盲点学习记录--Animator Controler Component相关推荐
- 【Unity3D学习记录#2】Android调用Unity界面 与 信息交互
[Unity3D学习记录#2]Android调用Unity界面 与 信息交互 Android 调用 Unity Unity项目构建 Android项目构建 Android 与 Unity 的信息交互 ...
- 2023.2.9,周四【图神经网络 学习记录23】动态图算法 之 SGNN(DGNN):更新组件(update component),传播组件(propagation component)
路虽远,行则将至. 声明:仅学习使用. 前情提要: 2023.2.9,周四[图神经网络 学习记录22]动态图算法 之 EvolveGCN:离散型动态GNN网络,将GNN和RNN结合到同一层,结合时间和 ...
- unity3D学习记录——1.小球碰撞
为了防止自己那天忘了,记录一下自己学习记录.纯小白,感觉自己记录的特白痴 1.使用物理材质使小球动起来. 2.记录碰撞次数(private int Null;) 3.使用UI,在游戏界面中建立Text ...
- Unity学习记录——模型与动画
Unity学习记录--模型与动画 前言 本文是中山大学软件工程学院2020级3d游戏编程与设计的作业7 编程题:智能巡逻兵 1.学习参考 除去老师在课堂上讲的内容,本次作业代码与操作主要参考了 ...
- Unity游戏优化[第二版]学习记录6
以下内容是根据Unity 2020.1.01f版本进行编写的 Unity游戏优化[第二版]学习记录6 第6章 动态图形 一.管线渲染 1.GPU前端 2.GPU后端 3.光照和阴影 4.多线程渲染 5 ...
- Unity游戏优化(第2版)学习记录8
Unity游戏优化[第二版]学习记录8 第8章 掌握内存管理 一.Mono平台 1.垃圾回收 2.内存碎片 3.运行时的垃圾回收 4.多线程的垃圾回收 二.代码编译 三.分析内存 1.分析内存消耗 2 ...
- react基础学习记录一
react 学习记录 自己学习,记录便于后面回顾 基础知识点的记忆: state与props state是组件自己的数据,而props是父组件通过属性赋值方式将其传送给组件:这样达到了,父子组件数据的 ...
- 前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二)
前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二) 前言 定义 Model connect 起来 更新state 拥抱变化 主题切换 更换页面 获取当前设备类 ...
- Unity2021 Inventory(背包)系统学习记录
Unity2021 Inventory(背包)系统学习记录 最近学习了Unity背包系统设计的基本设计.学习资料主要参考了B站up主:M_Studio的教学视频.学习完后,在Assets Store上 ...
最新文章
- 收下这份来自GitHub的神器,一图搞定Matplotlib!
- 星辰变鸿蒙武器,星辰变手游亲手打造极品光武 成就炼器宗师
- 查看SQL Server Resource Database以及修改系统表
- 如何把a1的图纸变成a0_「云顶之弈装备解析」面对回蓝——青龙刀与大天使究竟该如何取舍...
- Knative Serverless 之道:如何 0 运维、低成本实现应用托管?
- d3.js学习笔记--Mike Bostock: Thinking with Joins
- vant 软键盘_移动端页面输入底部被软键盘遮挡问题
- Angular Component class属性初始化和构造函数执行的先后顺序
- 占用较多堆外内存的区域
- 猎豹浏览器插件无法加载怎么办 插件无法加载解决方法
- 子域名收集常用工具(Layer、subDomainsBrute、sublist3r、dnsenum)
- P2345 奶牛集会/P2657 低头一族
- SQL数据库语言基础之SqlServer条件查询、排序数据表、like模糊查询【大总结】
- python画猴子_Python学习笔记(1)
- RabbitMQ从安装到深入
- https openssl http2
- c int转字符串_零基础如何学好Python 之int 数字整型类型 定义int()范围大小转换...
- 玩转小米盒子1:选购指南及应用推荐
- 青山常在,绿水长流,又一个新地方了
- Java统一日志处理