【unity实战】Unity动画层级(Animation Layer)的Sync同步和Timing定时参数使用介绍,同步动画层制作角色的受伤状态

news2025/5/17 0:21:29

文章目录

  • 前言
  • 方案一:复制粘贴原有层级的状态机
    • 1、实现
    • 2、问题
  • 方法二:勾选Sync同步动画层
    • 1、简单实现同步
    • 2、同步blend tree的问题
    • 3、动画状态的播放时长
    • 4、下层状态覆盖了上层状态
  • 专栏推荐
  • 完结

前言

如何制作角色的受伤状态?
在这里插入图片描述

玩家角色在游戏过程中总是会受到各种各样的伤害,那么很多游戏就会用角色外观来直接表达玩家当前所受到的伤害程度,就是用一整套不同的受伤动画代替原有的动画。

如果对Animator的知识还不了解,可以先去查看:【unity游戏开发——Animator动画】

方案一:复制粘贴原有层级的状态机

在一个新的layer里复制一整套原有层级的状态机,就是一个非常好的解决方案。

1、实现

比如我们现在就新建一个层级取名叫injured,用来表现角色受伤后的所有动画状态,然后在原来的层级这里全选所有的状态,然后按control+c复制回到injury这一层,按control+v粘贴,如果默认初始状态有变化的话,我们就重新选择一下。这样我们就得到了一个和原来层级一模一样的动画层级。
在这里插入图片描述

2、问题

但是这样做有一个问题,那就是随着开发的进行,原本的层级可能会有变化。

那么此时就需要修改对应的injured layer中内容,如果变化过于频繁的话,则极有可能给开发者带来混乱。

方法二:勾选Sync同步动画层

unity为我们在这里提供了一个同步功能。

1、简单实现同步

我们只需要在injured这一层,勾选同步,然后配置需要和哪个层级同步就可以了。
在这里插入图片描述
那么在接下来的开发过程中,无论被指定的这一层级结构如何改变,injured layer都始终会与它保持一致。在这里插入图片描述
这就是Unity动画层级(Animation Layer)的SyncTiming介绍。

2、同步blend tree的问题

注意,层级的同步仅仅是同步动画状态和动画状态间的转换关系,并不会同步blend tree的内容。如果原动画层有blend tree的话,可以看到在injured layer这里的这个locomotion状态会是空的。
在这里插入图片描述
我们可以右键新建里面的blend tree。
在这里插入图片描述
然后双击进去,把我们下载好的受伤待机、受伤行走、和受伤奔跑动画片段放进去,重新配置一下参数即可。
在这里插入图片描述

3、动画状态的播放时长

问题:比如受伤行走动画比原来行走动画可能播放时间短,按理说受伤行走动画应该是无法完美同步覆盖行走动画的才对,那么unity是如何解决这个问题的呢?

在默认情况下,sync layer中的动画状态的时长会被缩放至它所需要同步的层级中对应动画状态的时长,也就是说同步的受伤行走动画会被拉长与行走动画时间一样。

如果我们想反过来同步动画播放时长要怎么做呢?

一旦勾选了timing动画状态的播放时长就由他和被他同步的层级共同决定了。
在这里插入图片描述
那么到底哪个层级的决定权更大一些呢?其实主要是看这里的权重,当权重为1时,全都听当前这一层的,当权重为零时,全都听被同步的这一层的。

4、下层状态覆盖了上层状态

比如我们在受伤层的前面配置了新的一层Arms,主要是覆盖角色的手臂动画,实现举枪的效果。
在这里插入图片描述

那么会出现新的问题,会发现当我们的角色在受伤的状态下拿不起枪来了。

那是因为在动画层级中,位于下面的层级拥有更高的优先级。所以injured这一层拥有最高的播放优先级,它会代替其他的所有动画。如果权重为1,那么代替的程度就为百分百,代替的部位则是全身。

那么要解决,我们之前遇到的问题就很简单了,我们把它拖上来,放到第二这个位置上。
在这里插入图片描述
这样持枪动画的优先级就比上面两个要高了。


专栏推荐

地址
【unity游戏开发入门到精通——C#篇】
【unity游戏开发入门到精通——unity通用篇】
【unity游戏开发入门到精通——unity3D篇】
【unity游戏开发入门到精通——unity2D篇】
【unity实战】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】
【unity游戏开发——模型篇】
【unity游戏开发——InputSystem】
【unity游戏开发——Animator动画】
【unity游戏开发——UGUI】
【unity游戏开发——联网篇】
【unity游戏开发——优化篇】
【unity游戏开发——shader篇】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2337959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Uniapp调用native.js使用经典蓝牙串口通讯方法及问题解决

本人尝试在uniapp环境下开发一款安卓应用,需要与使用经典蓝牙协议的设备进行串口通讯,而uniapp官方给出的蓝牙操作接口目前只支持BLE(低功耗蓝牙),用该接口无法正常获取到我想要连接的设备。 通过大量搜索&#xff0c…

C++23 新特性:行拼接前去除空白符 (P2223R2)

文章目录 1\. 什么是行拼接前去除空白符2\. 为什么需要这一特性3\. 示例代码输出结果 4\. 编译器支持5\. 优势与应用场景5.1 提高代码可读性5.2 减少潜在错误5.3 适用于多行字符串 6\. 其他相关特性7\. 总结 C 语言一直在不断进化,以满足现代软件开发的需求。C23 标…

【通过Zadig给鼠标适配器安装驱动后,鼠标动不了,无法恢复的解决办法】

【通过Zadig给鼠标适配器安装驱动后,鼠标动不了,无法恢复的解决办法 问题产生缘由感谢这位大佬提供的解决办法解决办法 问题产生缘由 通过Zadig给鼠标适配器安装USB GAMING MOUSE这个驱动后,鼠标动不了,无法恢复(重启电脑,卸载鼠标驱动再重装也不可以), 不过还好,我用的是笔记…

GoogleCodeUtil.java

Google动态验证码实现 GoogleCodeUtil.java package zwf;import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.security.SecureRandom;/** https://mvnrepository.com/artifact/commons-codec/…

Maven 简介(图文)

Maven 简介 Maven 是一个Java 项目管理和构建的工具。可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java 项目不可缺少的工具。 Maven 的作用 提供标准化的项目结构:以前不同的开发工具创建的项目结构是不一样的&#xf…

2025Github介绍与注册(有图片讲解,保姆级)

为什么要注册Github账号 利于团队协作,特别是打比赛的队友 版本控制强大,代码安全 开源项目多,方便个人模仿或抄袭 方便托管,形成自动化工具链 教育福利,教育参与者暂时免费 讲解完了优势,下面讲注册 Gith…

RUI电视桌面中文版:下载安装教程及桌面固件包获取全攻略

在智能电视的使用过程中,一款出色的桌面系统能极大提升用户体验,RUI电视桌面中文版就是这样一个不错的选择。下面为大家详细介绍RUI电视桌面中文版的下载安装教程以及桌面固件包的获取方法。 一、桌面固件包获取 首先是获取桌面固件包。可以通过RUI官方…

OpenAI 34页最佳构建Agent实践

penAI发布O4,也发布34页最佳构建Agent实践,值得阅读。 什么是Agent? 传统软件使用户能够简化和自动化工作流程,而代理能够以高度独立的方式代表用户执行相同的工作流程。 代理是能够独立地代表您完成任务的系统。 工作流程是必…

HOOPS Exchange 与HOOPS Communicator集成:打造工业3D可视化新标杆!

一、概述 在工业3D开发、BIM建筑、数字孪生和仿真分析等高端应用场景中,数据格式复杂、模型体量庞大、实时交互体验要求高,一直是困扰开发者的难题。Tech Soft 3D旗下的HOOPS Exchange和HOOPS Communicator,正是解决这类问题的黄金搭档。二者…

C#进阶学习(六)单向链表和双向链表,循环链表(下)循环链表

目录 📊 链表三剑客:特性全景对比表 一、循环链表节点类 二、循环链表的整体设计框架 三、循环列表中的重要方法: (1)头插法,在头结点前面插入新的节点 (2)尾插法实现插入元素…

Unity使用Newtonsoft.Json本地化存档

我是标题 1.依赖包2.原理:3.代码4.可用优化5.数据加密 1.依赖包 Newtonsoft请在PacakgeManager处下载。 参考:打工人小棋 2.原理: 把要存储的对象数据等使用JsonConvert.SerializeObject(object T)进行序列化为字符串,并且通过…

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(六级)真题

青少年软件编程(Python)等级考试试卷(六级) 分数:100 题数:38 答案解析:https://blog.csdn.net/qq_33897084/article/details/147341458 一、单选题(共25题,共50分) 1. 在tkinter的…

Python 浮点数运算之谜:深入解析round(0.675, 2)等输出异常

一、问题背景:当浮点数运算遇见 “反直觉” 结果 在 Python 开发中,以下代码输出常让开发者困惑: print(round(0.675, 2)) # 预期0.67,实际0.68||预期0.68,实际0.67 print(0.1 0.2) # 预期0.3&…

【C#】Html转Pdf,Spire和iTextSharp结合,.net framework 4.8

🌹欢迎来到《小5讲堂》🌹 🌹这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!&#…

极狐GitLab 注册限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 注册限制 (BASIC SELF) 您可以对注册实施以下限制: 禁用新注册。新注册需要管理员批准。需要用户电子邮件确认。…

利用大模型实现地理领域文档中英文自动化翻译

一、 背景描述 在跨国性企业日常经营过程中,经常会遇到专业性较强的文档翻译的需求,例如法律文书、商务合同、技术文档等;以往遇到此类场景,企业内部往往需要指派专人投入数小时甚至数天来整理和翻译,效率低下&#x…

SGFormer:卫星-地面融合 3D 语义场景补全

论文介绍 题目:SGFormer: Satellite-Ground Fusion for 3D Semantic Scene Completion 会议:IEEE / CVF Computer Vision and Pattern Recognition Conference 论文:https://www.arxiv.org/abs/2503.16825 代码:https://githu…

Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化

一、软件介绍 文末提供源码和程序下载学习 Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化。Trinity 提供性能分析和 XAI 工具,非常适合深度学习系统或其他执行复杂分类或解码的模型。 二、软件作用和特征 Trinity 通过结合具有超维感知能力的不同交…

城市街拍暗色电影胶片风格Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色介绍 城市街拍暗色电影胶片风格 Lr 调色,是借助 Adobe Lightroom 软件,为城市街拍的人像或场景照片赋予独特视觉风格的后期处理方式。旨在模拟电影胶片质感,营造出充满故事感与艺术感的暗色氛围,让照片仿佛截取于某部充满张力…

加密和解密(大语言模型)

看到很多对matlab的p文件加密方案感兴趣的。网络上技术资料比较少,所以,我让大语言模型提供一些概论性质的东西,转发出来自娱自乐。期望了解p文件加密的复杂度,而不是一定要尝试挑战加密算法。 但根据大语言模型提供的材料&#…