当前位置: 首页 > article >正文

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

文章目录

  • 前言
  • 方案一:复制粘贴原有层级的状态机
    • 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,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

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

相关文章:

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

文章目录 前言方案一:复制粘贴原有层级的状态机1、实现2、问题 方法二:勾选Sync同步动画层1、简单实现同步2、同步blend tree的问题3、动画状态的播放时长4、下层状态覆盖了上层状态 专栏推荐完结 前言 如何制作角色的受伤状态? 玩家角色在…...

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 标…...

Windows 11设置开机自动运行 .jar 文件

Windows 11设置开机自动运行 .jar 文件 打开启动文件夹&#xff1a; 按下 Win R&#xff0c;输入 shell:startup&#xff0c;回车。 此路径为当前用户的启动文件夹&#xff1a; C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup创…...

【通过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 项目管理和构建的工具。可以定义项目结构、项目依赖&#xff0c;并使用统一的方式进行自动化构建&#xff0c;是Java 项目不可缺少的工具。 Maven 的作用 提供标准化的项目结构&#xff1a;以前不同的开发工具创建的项目结构是不一样的&#xf…...

JESD204B标准及其在高速AD采集系统中的应用详解

一、JESD204B协议的本质与核心价值 JESD204B是由JEDEC制定的第三代高速串行接口标准&#xff08;2011年发布&#xff09;&#xff0c;专为解决高速ADC/DAC与FPGA/ASIC间数据传输瓶颈而设计。其核心突破体现在&#xff1a; 速率革命性提升 支持每通道最高12.5Gbps&#xff08;通…...

天梯赛数据结构合集

1.集合操作&#xff1a;PTA | 程序设计类实验辅助教学平台 主要是注意set的取交集操作&#xff0c;AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k; set<int> a[60]; int main(){cin>>n;for(int i1;i<n;i){cin>>m;for…...

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

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

决战浏览器渲染:减少重绘(Repaint)与重排(Reflow)的性能优化策略

在现代Web开发中&#xff0c;流畅的用户体验是衡量应用质量的关键指标之一。用户与界面的每一次交互&#xff0c;背后都牵动着浏览器复杂而精密的渲染过程。当这个过程不够高效时&#xff0c;用户就会感受到卡顿、延迟&#xff0c;甚至页面“掉帧”。在众多影响渲染性能的因素中…...

好数对的数目

题目描述 给你一个整数数组 nums。 如果一组数字 (i, j) 满足 nums[i] nums[j] 且 i < j&#xff0c;就可以认为这是一组 好数对。 返回 好数对 的数目。 示例 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1,1,3] 输出&#xff1a;4 解释&#xff1a; 有 4 组好…...

C++ STL编程-vector概念、对象创建

vector 概念&#xff1a;是常见的一种容器&#xff0c;被称为“柔性数组”。 在vector中&#xff0c;front()是数组中的第一个元素&#xff0c;back()是数组的最后一个元素。begin()是是指向第一个元素&#xff0c;end()是指向back()的后一个元素 vector的对象创建&#xff0…...

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

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

OpenAI 34页最佳构建Agent实践

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

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

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

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

目录 &#x1f4ca; 链表三剑客&#xff1a;特性全景对比表 一、循环链表节点类 二、循环链表的整体设计框架 三、循环列表中的重要方法&#xff1a; &#xff08;1&#xff09;头插法&#xff0c;在头结点前面插入新的节点 &#xff08;2&#xff09;尾插法实现插入元素…...

后端程序员工作复盘(一)

1、工作不是为了解决问题&#xff0c;而是为了生活目标。 2、不能当救火队员&#xff0c;要提前预防问题的产生、避免问题的出现。 3、后端表设计和接口设计&#xff0c;要考虑到扩展性&#xff0c;要灵活。无论页面如何变动&#xff0c;后端的改动量都最小&#xff0c;要以不…...

禅道部署进阶指南:从搭建到高可用,全程打怪升级!

禅道在生产环境中的更专业部署方案,包括 Linux 服务器部署、Docker 安装方案、性能优化、安全建议和常见企业级集成方式,适合团队使用或对稳定性、安全性有较高要求的项目。 ✅ 一、企业级部署方案(适合 Linux 环境) 🖥 环境要求 操作系统:CentOS 7+/Ubuntu 18+(推荐)…...

文章记单词 | 第36篇(六级)

一&#xff0c;单词释义 wit [wɪt] n. 智慧&#xff1b;才智&#xff1b;机智&#xff1b;风趣的人dreadful [ˈdredfl] adj. 糟糕透顶的&#xff1b;可怕的&#xff1b;令人畏惧的innocent [ˈɪnəsnt] adj. 无辜的&#xff1b;天真无邪的&#xff1b;无罪的&#xff1b;无…...

Unity使用Newtonsoft.Json本地化存档

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

Java研学-MybatisPlus(一)

一 概述 MyBatis-Plus&#xff08;简称 MP&#xff09;是一款基于 MyBatis 的增强工具&#xff0c;旨在简化开发、提高效率。它在保留 MyBatis 所有特性的基础上&#xff0c;提供了丰富的功能&#xff0c;减少了大量模板代码的编写。 1 核心特性&#xff1a; ① 无侵入增强&am…...

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

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

OpenVINO怎么用

目录 OpenVINO 简介 主要组件 安装 OpenVINO 使用 OpenVINO 的基本步骤 OpenVINO 简介 OpenVINO&#xff08;Open Visual Inference and Neural Network Optimization&#xff09;是英特尔推出的一个开源工具包&#xff0c;旨在帮助开发者在英特尔硬件平台上高效部署深度学…...

欧拉服务器操作系统安装MySQL

1. 安装MySQL服务器​​ 1. 更新仓库缓存 sudo dnf makecache2. 安装MySQL sudo dnf install mysql-server2. 初始化数据库​ sudo mysqld --initialize --usermysql3. 启动数据库服务 # 启动服务 sudo systemctl start mysqld# 设置开机自启 sudo systemctl enable mysql…...

【零基础】基于 MATLAB + Gurobi + YALMIP 的优化建模与求解全流程指南

MATLAB Gurobi YALMIP 综合优化教程&#xff08;进阶&#xff09; 本教程系统介绍如何在 MATLAB 环境中使用 YALMIP 建模&#xff0c;并通过 Gurobi 求解器高效求解线性、整数及非线性优化问题。适用于工程、运营研究、能源系统等领域的高级优化建模需求。 一、工具概览 1.…...

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

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

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

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

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

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

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

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