(M)unity事件events执行设置人物受伤动画

Unity动画性能优化:AnimatorLOD Pro插件原理与实战配置指南 在游戏开发中,动画系统是CPU性能消耗的主要来源之一,尤其是在处理大量角色时,Animator.Update的开销会显著影响帧率。其核心原理在于通过动态调整动画的更新频率和计算精度来平衡性能与视觉质量,这借鉴了图形学中经典的LOD(细节层次)思想。这项技术的核心价值在于能够在不影响核心游戏体验的前提下,大幅降低动画系统的CPU占用,从而释放资源用于其他游戏逻辑或提升整体帧率。它广泛应用于需要同屏显示大量角色的游戏场景,例如MMO、RTS、开放世界以及移动平台游戏。本文聚焦的AnimatorLOD Pro插件 阅读详情

通过事件的添加和设置可以完成对受伤后可能的操作,包括反弹,受伤动画反弹,ui设置。


ps

叠加动画的设置

1.设置不同的动画图层,完成动画效果的叠加(例如一边idle,一边因为受伤而变红)

步骤②为设置权重,权重与上一个图层相同
步骤③为设置混合模式,addictive模式可以完成动画的叠加
在这里插入图片描述

受伤变红动画的绘制
添加属性->选择sprite renderer->在需要的帧修改属性

在这里插入图片描述


脚本添加

1.在动画脚本中添加对受伤动画参数的设置(将受伤动画参数设置为trigger,触发则开始播放,调整动画的transition时,播放一次就返回上一级动画,如图

在这里插入图片描述
在这里插入图片描述

    void Update()
    {
        SetAnimation();
        
    }

    public void SetAnimation()
    {
        anim.SetFloat("velocityX", Mathf.Abs(rb.velocity.x));
        anim.SetFloat("velocityY", rb.velocity.y);
        anim.SetBool("isGround", pc.isGround);
        //anim.SetFloat("crouch", cr.isCrouch);
    }
//受伤由于只发生一次,不需要在update中逐帧检测,通过事件的添加完成
    public void PlayerHurt()
    {
        anim.SetTrigger("hurt");
    }

2.在角色脚本受伤函数中完成事件的添加

①using UnityEngine.Events;
添加命名空间

②public UnityEvent<Transform> OnTakeDanmage;
由于事件中需要完成的操作可能包含位移,所以加入transform组件作为参数

③受伤后减血,进入无敌状态,同时执行受伤事件

    public void TakeDamage(Attack attacker)
    {
        //如果无敌,则直接返回
        if (invulnerable)
        {
            return;
        }
        //Debug.Log(attacker.damage);
        if (currentHealth - attacker.damage > 0)
        {
            currentHealth -= attacker.damage;
            //触发一次伤害,就变成无敌
            TriggerInvulnerable();

            //执行受伤
            OnTakeDanmage?.Invoke(attacker.transform);

        }
        else {
            currentHealth = 0;
        }
           
    }

④在ontakedamage事件中注册事件:受伤动画
将动画脚本拖入到下边脚本框中,右侧选择动画脚本中的受伤函数
在角色掉血时执行注册表中的函数,这里只添加了受伤动画

在运行时触发会执行该脚本,操纵触发器变量,选择runtime only

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2f325deb2777494bb65b06d61902c10b.png

⑤运行完成受伤动画的播放

Unity动画系统学习笔记(二)根运动、动画事件与状态机行为 在学习根运动前需要了解两个名词: 身体变换:身体变换是角色的质心。它用于 Mecanim 的重定向引擎,并提供最稳定的移位模型。身体方向是相对于 Avatar T 形姿势的下身和上身方向的平均值。身体变换和方向存储在动画剪辑中(使用 Avatar 中设置的肌肉定义)。它们是动画剪辑中存储的唯一世界空间曲线。所有其他:肌肉曲线和 IK(反向动力学)目标(手和脚)都是相对于身体变换进行存储的。 根变换:根变换是身体变换在 Y 平面上的投影,并在运行时计算。在每一帧都会计算根变换的变化。变换的此变化随后应用于游 阅读详情

相关推荐

Unity TextMeshPro打字机效果实现平滑字符淡入动画

在Unity游戏开发中,UI文本的动态呈现是提升玩家沉浸感的关键技术之一。TextMeshPro(TMP)作为Unity官方推荐的文本渲染解决方案,其基于网格的渲染机制允许开发者对每个字符进行精细的视觉控制。通过操作顶点颜色(Vertex Color)的Alpha通道,可以实现字符级的透明度动画,这是实现平滑淡入效果的核心原理。这种技术不仅增强了对话系统的表现力,还能广泛应用于游戏内的提示信息、剧情字幕等需要渐进式文本展示的场景。本文以【打字机效果】和【字符淡入】为核心,详细解析了如何结合动画曲线(Anim

weixin_33994429的博客 751

【Unity动画】动画播放到某帧调用函数-添加事件Events

在谈论Unity动画事件之前,让我们首先了解一下它是如何工作的。动画事件允许你在动画的播放过程中,在指定的关键帧上执行脚本中的函数。这意味着你可以在动画的不同时刻触发自定义的逻辑,为角色、场景或其他元素注入更多生命力。

leoysq的博客 8907

Unity Dropdown OnValueChanged事件优化:解决重复点击当前项无响应问题

在Unity UI开发中,事件系统是构建交互逻辑的核心机制,其设计遵循属性值变化触发的基本原则。这一原理确保了性能优化和逻辑合理性,但在实际工程实践中,某些默认行为可能无法满足复杂的交互需求。以Dropdown和TMP_Dropdown组件的OnValueChanged事件为例,其仅在选中项索引改变时触发的机制,导致了用户重复点击当前已选项时交互反馈缺失的技术痛点。这种限制在需要重复选择以重置状态或刷新界面的应用场景中尤为突出,直接影响用户体验。本文通过剖析底层事件触发逻辑,提供了从快速修复到自定义组件封装

weixin_34174322的博客 331

UnityVR--组件7--动画事件&BlendTree

​上一篇(组件5--Animation动画)已经做了2个动画片段,HeroIdle和HeroJump,另外实现了简单的动画转场控制。本篇使用BlendTree来控制动画转场,并使用事件发送的方式来控制动画事件。

唐小墨同学的博客 2174

Unity逆向老游戏资源实战:手把手教你用C#解析《寻秦OL》的.pwd和.aef动画文件

本文详细介绍了使用C#逆向解析Unity老游戏《寻秦OL》私有二进制动画文件(.pwd和.aef)的完整方法论。从文件结构分析、字节序处理到Unity编辑器工具开发,手把手教你掌握二进制文件逆向核心技术,实现动画资源的精准解析与重构。

weixin_30642869的博客 354

Unity游戏集成本地大语言模型:基于Granite-350M构建智能NPC对话系统

大语言模型(LLM)作为自然语言处理的核心技术,通过Transformer架构实现对人类语言的深度理解与生成。其原理在于利用海量文本数据进行预训练,学习语言的统计规律与语义关联,从而具备上下文推理和内容创作能力。在游戏开发领域,这项技术的价值在于突破传统对话树的限制,为角色赋予动态、个性化的交互体验。通过将轻量级LLM本地化部署,开发者可以在保证性能的前提下,为NPC注入“灵魂”,实现更自然的玩家对话。本文以IBM Granite-3.5B模型为例,结合Unity引擎,详细阐述了如何构建异步服务化架构,解决

weixin_34211761的博客 430

Unity3D 使用代码在动画片段中添加事件

unity使用代码在动画片段中添加event

学不会shader 2185

Unity进阶:基于TextMeshPro实现带淡入效果的打字机脚本

在游戏开发中,UI文本的动态呈现是提升玩家沉浸感的关键技术之一。其核心原理是通过分帧渲染,控制文本的逐字显示节奏,从而模拟出自然的阅读体验。这项技术的工程价值在于,它能将静态的对话信息转化为具有呼吸感和叙事张力的动态过程,广泛应用于视觉小说、角色扮演游戏和互动叙事等场景。通过结合协程进行时序控制,开发者可以精确管理每个字符的出现时机与动画效果。本文聚焦于实现一个功能完备的进阶版打字机效果,它基于TextMeshPro(TMP)这一高性能文本渲染方案,并创新性地引入了逐字淡入动画。该方案通过直接操作TMP的顶

weixin_30902251的博客 424

【Unity万人同屏插件】使用手册 保姆级教程 GPU动画 Jobs多线程渲染

《万人同屏插件》是一款基于Dots技术的高性能Unity开发工具,通过GPU动画渲染和BRG/ECSGraphics多线程渲染器,实现3D/2D Spine动画的海量单位渲染(10万单位)。支持武器挂载、动画事件、骨骼信息保留及LOD优化,GPU动画兼容全平台包括WebGL。插件提供一键转换工具将Animator/Spine动画转为GPU动画,大幅降低DrawCall和包体体积。新增ECSGraphics渲染器支持无限实例、8级LOD和动态挂载点切换。配套RVO多线程避障系统可实现大规模单位寻敌与碰撞检

eFunTech 1万+

Unity引擎开发:动画系统实现_动画事件

动画事件是Unity中的一个功能,允许你在动画剪辑的特定时间点触发脚本中的方法。每当动画播放到设置了事件的时间点时,Unity会自动调用相应的脚本方法。这些方法可以用于执行各种操作,如播放音效、发射粒子系统、改变角色状态等。

chenlz2007的博客 1240

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1085

Unity动画事件(Animation Events)的5个高级用法:从触发对话到控制粒子系统,让你的游戏更生动

本文深入探讨了Unity动画事件(Animation Events)的5个高级用法,从触发NPC对话到精确控制粒子系统,帮助开发者实现更丰富的游戏交互体验。通过代码示例和实用技巧,展示了如何利用Animation Events提升游戏动画的表现力和功能性,特别适合中高级Unity开发者学习参考。

weixin_33971721的博客 514

STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控

本文详细介绍了如何使用STM32F103ZE精英板驱动ESP8266与DHT11构建物联网网关,实现乐联网温湿度数据实时监控。从硬件选型、连接调试到乐联网平台配置和STM32程序开发,提供了完整的实现步骤和常见问题解决方案,适合物联网入门开发者参考。

weixin_30823001的博客 78

Unity 动态加载Animator Event 事件

搬迁原来博客海澜优快云 前一阵子频繁更改模型,总是手动添加动画事件 animator events一直比较麻烦,我就想能不能动态的生成对应的动画事件呢,然后找了一些资料,试了下感觉还不错,分享给大家,欢迎大家留言交流~需要注意的是修改后的动画事件重新动态加载后依然保留,猜测注册修改的是元数据,除非注销或...

weixin_34072458的博客 300

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构

本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过来弥补参数大幅减少的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的和五种模型,以满足不同的需求。

Limiiiing的博客 2975

用 CL_SALV_TREE 把层级数据做成一棵会呼吸的 ABAP ALV 树:从类继承扫描到事件交互的完整拆解

本文介绍了SAP ABAP中使用CL_SALV_TREE实现树形ALV报表的方法。该技术将层级数据(如类继承关系)以可展开/折叠的树形结构展示,解决了传统ALV Grid无法直观显示层次结构的问题。核心实现采用"数据表+层级表"分离的设计模式:数据表存储节点业务信息,层级表维护父子关系。通过add_node方法动态构建树形结构,支持设置节点文本、图标和事件。文中提供了完整示例代码,演示了如何递归扫描ABAP类继承关系并构建树形ALV,这种技术特别适用于展示类族谱、权限树等层级数据,能显著

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 206

Unity AVProVideo全景视频循环播放与事件系统构建实战

在Unity应用开发中,视频播放是构建沉浸式体验的核心技术之一,尤其在VR看房、虚拟旅游等场景中,全景视频的流畅播放至关重要。其原理在于通过硬件解码(如Android MediaCodec)来分担CPU压力,确保高分辨率视频的稳定渲染。这项技术的核心价值在于提升应用性能与用户体验,避免卡顿和内存问题。在Android平台上,实现全景视频的无缝循环播放与精准状态管理是常见的工程挑战。本文聚焦于利用AVProVideo插件,通过手动控制循环播放逻辑与构建事件响应系统,解决循环播放时的内存累积与状态同步问题,并自

weixin_30847865的博客 407

23 RAG 为什么答不准:召回、分块、排序的常见坑

RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。

老于的笔记的专栏 246

Unity UI交互进阶:扩展Slider组件实现拖拽与点击事件监听

在Unity UI开发中,事件系统是构建交互逻辑的核心机制,它定义了用户输入与界面反馈之间的桥梁。其原理基于Unity的EventSystem,通过实现特定接口(如IBeginDragHandler、IPointerClickHandler)来响应指针操作。掌握事件机制的技术价值在于能够实现更精细、更符合直觉的交互反馈,从而提升用户体验。这在游戏设置界面、进度控制、角色属性调整等应用场景中尤为重要。本文聚焦于解决原生Slider组件在交互生命周期监听上的不足,通过扩展其功能,精准响应拖拽开始、拖拽结束及点击

weixin_30455023的博客 491

YOLOv12改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

《YOLOv12高效涨点改进专栏》提供500+创新改进方案,涵盖卷积、主干网络、注意力机制等模块优化,适用于检测、分割等任务。改进点来自顶会论文和个人经验,支持多种模型版本和任务场景。专栏包含详细教程、数据集增强、性能评估工具等,帮助科研人员快速实现模型优化和论文发表。提供完整运行项目和环境配置指导,适合计算机及相关专业研究人员使用,持续更新保障长期科研需求。

Ai缝合怪、助力小伙伴高效发论文 2300

移位寄存器——用Verilog实现串入串出、串并和并串转换并进行Modelsim仿真

用Verilog实现串并转换 首先我们先要了并串和串并转换的原理 并串转换:先将八位数据暂存于一个八位寄存器器中,然后左移输出到一位输出端口,这里可以通过一个“移位”来实现,相当于实现了移位寄存器的功能。 串并转换:新输入的位值成为原来数据的最低位,将原来数据的最高位舍去,这里可以通过一个简单的“连接符”来实现。 我们这里采用两种方式来进行串并转换 一:lsb优先 Least Significant Bit,最低比特,最低位优先 二:msb优先 Most Significant Bit,最高比特,

H19981118的博客 2万+

轻量级大模型Gemma-3-270m集成Unity:打造智能NPC对话系统

大语言模型(LLM)通过其强大的自然语言理解和生成能力,正在重塑人机交互方式。其核心原理是基于海量文本数据训练的Transformer架构,能够捕捉复杂的语言模式和上下文关联。在游戏开发领域,这项技术的价值在于为NPC(非玩家角色)赋予动态、智能的对话能力,从而极大提升游戏的沉浸感和可玩性。传统游戏对话多依赖预设脚本或决策树,而大模型驱动的NPC则能理解玩家的自由输入,生成符合角色设定和语境的个性化回复。本文以轻量级模型Gemma-3-270m与Unity引擎的集成为例,详细阐述了如何构建一个完整的客户端-

weixin_33981932的博客 439

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Unity C#委托与事件:从基础概念到实战解耦与内存管理

在C#编程中,委托(Delegate)是一种类型安全的函数指针,它定义了方法的签名,允许将方法作为参数传递或存储。其核心原理是基于.NET的MulticastDelegate类,支持多播,即一个委托实例可引用多个方法。事件(Event)则是对委托的封装,遵循发布-订阅模式,提供更好的封装性,确保只有发布者能触发通知。这一机制的技术价值在于实现组件间的解耦,提升代码的可维护性和扩展性,是构建模块化、事件驱动架构的基础。在Unity开发中,委托与事件广泛应用于UI交互、游戏状态管理、输入系统封装等场景,能有效替

weixin_34007020的博客 402

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Unity动画系统选型指南:Legacy与Mecanim核心差异与适用场景解析

在游戏开发中,动画系统是实现角色动作与交互的核心组件,其设计理念直接影响开发效率与最终表现。从原理上看,动画系统可分为脚本驱动与状态驱动两种范式。脚本驱动系统通过代码直接控制动画播放,适合简单场景;而状态驱动系统则通过可视化状态机管理动画逻辑,实现了表现与逻辑的解耦,提升了复杂动画流程的可维护性。在技术价值层面,现代动画系统通过参数驱动、混合树与动画重定向等机制,大幅降低了复杂角色动画(如八向移动、分层动作)的实现成本,并优化了团队协作流程。具体到应用场景,对于需要处理人形角色动画、复杂状态切换及团队协作的

weixin_34348805的博客 374

Unity TextMeshPro逐字淡出效果:原理、实现与性能优化

在Unity UI开发中,文本动画是提升用户体验的关键技术之一。其核心原理在于通过脚本动态修改文本网格的顶点数据,实现对每个字符的独立控制。这种技术方案相比传统的Animator或第三方补间库,在灵活性、性能和控制粒度上取得了更好的平衡,尤其适合处理动态变化的文本内容。从技术价值来看,它能够为游戏对话、任务提示、过场字幕等场景提供电影级的视觉表现力,显著增强沉浸感。本文聚焦于TextMeshPro的逐字淡出效果,深入解析了基于TMP_TextInfo的脚本驱动方案,并提供了完整的组件实现、性能优化策略以及常

dengjuanshou7445的博客 450
上一篇: ontriggerstay2d触发器持续检测伤害的实现
下一篇: (M)unity受伤反弹以及死亡动画
MIMO. mimo
博客等级 码龄6年 308粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值