Unity动画系统详解7:Layer是什么?
csdh11 2025-01-11 11:45 1 浏览
摘要:使用Layer可以用来管理角色的不同身体部位。比如下半身用于行走或跑步,上半身用于射击或投掷物体。
洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动画系统。
“大智,我的Animator状态机里面的状态很多,现在太难管理了。我有很多姿势,比如不拿枪,拿手枪,拿冲锋枪,拿步枪,每种姿势都要做一个混合树,现在再去加蹲的状态,简直爆炸,有没有什么好办法?”
“我看看你的Animator Controller现在是什么样子?”
“还是挺整洁的嘛,感觉并没有很复杂呀”“这只是表面现象,每个混合树里都有好多状态呀”
“那你想想这些动画之间有没有什么相似的地方可以提取出来的?”“要说相似的话,它们腿部的动画是类似的,不管拿枪姿势如何,腿部都是一样的,只有胳膊的动画不太一样。”
“嗯,这你就算说到点子上了!这时候可以用下Animator Controller中的Layer的相关文档,你先去看看?”“就是Parameters边上那个Layer么?看到它好久了还一直不知道有什么用呢!我先去了解了解!”
下面是小新的笔记本中的内容:
Animation Layers
使用Layer可以用来管理角色的不同身体部位。比如下半身用于行走或跑步,上半身用于射击或投掷物体。
可以从Animator左上角的Layer标签中管理Layer。
点击加号可以添加一个Layer。点击Layer旁边的齿轮图标,会弹出一个小窗口,可以设置该Layer对应的参数。
Weight 这一层的权重,0代表该层权重是0(该层不生效),1代表该层权重为1(该层中的动画能完全表现)
Mask 设置该Layer能控制身体的哪部分,设置后该Layer上面会显示一个M的小图标。详细笔记见下方
Blending 和其他层混合的模式。
- Override 覆盖上面的层中对应Mask的部位
- Additive 会加在之前Layer的动画之上
Sync 复用其他层中的状态机。详细笔记见下方
IK Pass 什么是IK?得问问大智
Avatar Mask
用来设置该Layer的动画会影响角色的哪一部分的遮罩。
创建Avatar Mask
在Project窗口中右键,Create > Avatar Mask点击后会创建一个AvatarMask文件,此时可以对文件命名。
编辑AvatarMask
AvatarMask有两种定义身体遮罩的方式:
- 通过Humanoid身体映射图
- 通过Transform层次结构选择包含或不包含的骨骼
Humanoid
如果你的动画是人形动画,建议用这一种方式可以快速设置AvatarMask。
身体映射图包含以下几部分:
- 头部
- 左臂
- 右臂
- 左手
- 右手
- 左腿
- 右腿
- Root(脚下的圆形阴影部分)
可以通过鼠标点击每一部分,绿色代表动画可以影响这一部分,红色代表动画不会影响。在空白处点击可以全选/全不选。
手部和脚部的IK可以开关,表示该部分的IK曲线是否参与动画混合。IK又出现了,一会去问问大智
Transform
如果动画没有使用Humanoid,或者你想更精细的控制遮罩,你可以通过Transform层级结构来控制每一个骨骼。
1、选择一个Avatar(动画模型的Avatar)2、点击Import Skeleton按钮。avatar的层级结构会显示出来。3、可以设置对应的骨骼是否受动画控制
其他用途
在模型导入设置的Animation页签中,也可以设置Mask,设置后只会导入对应Mask的动画数据。
在这设置Mask的好处是:可以减少内存占用和CPU占用。因为不需要的身体部位的动画曲线不会被加载,并且不会参与计算。
实例
比如你想人物保持行走、跑步、站立的同时上身能够投掷东西,你可以按下图设置Layer:
Sync
有时能够在不同的Layer重用其他Layer的状态机非常有用。比如你想模拟一个“受伤”的状态,你有受伤状态的各种动画比如走跑跳。这时候你可以选中Sync复选框,选择你想要同步的Layer。状态机的结构会保持一致,但是可以设置不同的Animation Clip。选中时,Layer旁边会有一个S小图标。
这意味着,同步出来的Layer不需要再去定义状态机,并且源Layer中状态机的任何变化都会同步到这一同步Layer。唯一需要你做的就是设置每个State中使用的动画。
Sync复选框旁边还有一个Timing复选框。
- 不选中时,Sync出来的Layer中每一个State的动画长度会变为源Layer中的时长。
- 选中时,根据Weight调整动画时长,Weight为1时使用Sync Layer中的动画时长。
“大智,我看完了,这个东西还是很强大的呀,正好符合我的需要。不过这里面有好多地方提到了IK,这个IK是什么东西呢?”
“IK是Inverse Kinematics的缩写,也就是反向动力学。”
“那是不是还有正向动力学?”
“没错,你都会举一反三了!大多数动画是通过旋转骨骼来实现的。子骨骼的位置跟着父骨骼的旋转而改变,因此关节链的终点可以根据前面的各个骨骼的角度和相对位置确定。这种构成骨骼动画的方法称为正向动力学。”
“那反向动力学是不是就是根据骨骼的最终节点,反向推算之前的骨骼节点的位置?”
“哟,不错哦,有长进。正如你所说的一样。有些时候我们需要根据空间中的位置来确定骨骼节点的位置,比如让角色拿枪,不同的枪可能握持的位置不太相同,就需要根据握持的位置来决定角色手的位置。Unity中的IK支持所有人形动画。”
“这样说我就有些明白了,Animator中的State设置中的Foot IK是不是就是设置脚部受IK的影响?”
“是的。”“那Layer中的IK Pass是什么意思呢?”
“选中IK Pass的时候,每帧会调用脚本中的OnAnimatorIK方法,可以在这个方法中动态设置IK,这个明天给你细讲一下。”“好~”
总结
小新:“有了Layer,我感觉我的动画可以分为上半身和下半身两个Layer,这样一来就不需要对每个拿枪的动作设置移动的混合树了,应该能简化不少工作。”“确实是这样,合理利用Layer不仅可以减少动画师的动画制作工作量,还能在性能上对游戏进行优化。”
今日思考题
小新:“那我现在就去就用Layer改造下我的状态机”“今天真自觉,哈哈,我本来也想给你布置这个小作业呢!”“我去也!”大智:“收获别忘了分享出来!别忘了免费分享给你的朋友,也许能够帮到他。”
呼~ 今天小新絮絮叨叨的真是够够的了。没讲清楚的地方欢迎评论,咱们一起探索。
我是大智,你的技术探路者,下次见!
别走!点赞,收藏哦!
好,你可以走了。
相关推荐
- ArcGIS干货教程:DEM数字高程模型数据的生成
-
1、概述现在ArcGIS在规划行业的使用逐渐流行起来,多规合一、地理设计、甚至还有大数据、编程设计等等各种高大上无不与ArcGIS多少有点关系,然而大多数行业小伙伴作为一个普通的规划师,只是想用Ar...
- Google推出的首款动态图标字体 如何在设计和开发中使用?
-
Anicons是GoogleDesign和Typogram合作推出的全球第一款彩色图标字体,它是目前最先进的两种字体技术--可变字体和彩色字体的结合的首次实践。Anicons字体自带...
- KWGT : 如果你想随心定制桌面小部件,试试它吧 Android
-
有人说Android在于折腾,而为了让这「机器人」达到美与实用的平衡点,各大定制界面开发者使尽百变招数,花样也层出不穷。其中,KustomWidget(KWGT)就是Android上最精美的...
- 颜色查找表 LUTs及其使用
-
1、什么是LUT?颜色查找表(colorlookuptables,简称LUT)是一个表格,其中包含Photoshop的说明,如何将图像中的原始颜色重新映射到不同的特定颜色,以创建特定的外观,图像...
- 抖音品质建设 - iOS启动优化《原理篇》
-
前言启动是App给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实践。本...
- win10:手把手教你怎么打开windows media player
-
通常我们安装好win10系统后,一些网友说他们无法打开WindowsMediaPlayer,也不知道怎么打开它。今天,总裁小编我将教您怎么在win10系统中打开WindowsMediaPl...
- Origami动效制作-入门必看(附3个练习案例)
-
数十万互联网从业者的共同关注!作者:青溪Joanna微信公众号:qingxizhaji(青溪札记)作者授权早读课发表,转载请联系作者。欢迎投稿到早读课,投稿邮箱:mm@zaodula.com网上关于O...
- 30个4GB内存Rackspace云服务器45分钟内可运行1万个Docker容器
-
虽然应用程序的可移植性(即能够在任何一个主机上运行相同的应用程序)仍是采用Linux容器的主要动力,但优化服务器的利用率这另一个关键的优势能够使得你仅占用计算机的很少部分的计算。当然,对于像PROD这...
- 在Photoshop中绘制虚线的多种实用方法总结
-
PS虚线怎么画(HowtoDrawDottedLinesinPhotoshop) 在图形设计中,虚线是一种常见的视觉元素,广泛应用于设计和排版。无论是用于分隔不同的内容,还是作为装饰元...
- 第三章图层、属性设置
-
F本章目标&了解图层的概念和应用&掌握图层的新建、命名、删除、和设置为当前的方法&掌握图层的颜色、线型及线宽设置方法&学会使用图层的开/关、冻结/解冻、锁定/解锁...
- 非常好用的作图软件origin实用问题集锦(4)
-
16.请问在origin中如何设置图片大小?杂志要求图片长5cm,宽4cm,而且对图片中字号、线粗有要求,如果只是在输出时设置图片大小,那图片中字号、线粗不是改变了吗?Answer:在图上的灰色...
- 如意玲珑成熟度再提升,三大发行版支持教程来啦!
-
前期,我们已分别发布如意玲珑在deepinV23与UOSV20、openEuler24.03发行版的操作指南,本文,我们将为大家详细介绍Ubuntu24.04、Debian12、op...
- Windows电脑文件的扩展名(后缀名)有哪些,有什么用?
-
文件扩展名(filenameextension)也称为文件的后缀名,是操作系统用来标记文件类型的一种机制,在Windows系统下,通俗易懂的来说就是扩展名可以告诉操作系统默认用什么软件打开文件。...
- UG NX中英文词汇翻译对照,已整理成文档
-
大家好,我是星辉。虽然UGNX软件可以选择安装中文版本,但是里面依旧会有很多英文词汇,很多新手看到英文就头疼不懂意思。今天我给大家整理好了使用UGNX软件中基本需要明白英文含义的翻译对照文档,有需...
- layui-icon各种常用动态图标
-
<buttonid="btnPrintDetail"class="<br/>layui-btnicon-btn"><iclass="...
- 一周热门
-
-
一文读懂关于MySQL Datetime字段允许插入0000-00-00无效日期
-
MySQL数据库关于表的一系列操作 mysql 表操作
-
IDC机房服务器托管可提供的服务
-
新版腾讯QQ更新Windows 9.9.7、Mac 6.9.25、Linux 3.2.5版本
-
一文看懂mysql时间函数now()、current_timestamp() 和sysdate()
-
一款全能的看图软件,速度快、功能强、免费用
-
深度测评:Pixave 和图片管理之间的距离(二)
-
Boston Dynamics Founder to Attend the 2024 T-EDGE Conference
-
每天一个入坑小技巧:MySql和oracle语法区别(今日追加)
-
Serv-u 提权
-
- 最近发表
- 标签列表
-
- mysql 时间索引 (31)
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- oracle timestamp比较大小 (28)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- 加密与解密第四版pdf (30)
- jemeter官网 (31)
- parsevideo (33)
- 个人网站源码 (37)
- exe4j_java_home (30)
- centos7.4下载 (33)
- xlsx.full.min.js下载 (32)
- 深度学习 pdf (28)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- usb2.0-serial驱动下载 (30)
- vs2010官网 (31)
- python核心编程第四版pdf (32)
- jdk1.8.0_191下载 (33)
- layer icon (32)