Unity弹窗动画效果实现-AnimationCurve
引言Unity里有个动画控制API给UI加点儿平滑动画能让体验提升不少。今天就来分享一个基于AnimationCurve的动画控制器用协程控制UI缩放实现自定义缓动效果的显示和隐藏特别适合做弹窗、菜单的入场退场动画。实现代码以下是完整的C#脚本实现using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// summary /// 使用AnimationCurve控制UI对象的平滑显示与隐藏动画 /// /summary public class AnimationController : MonoBehaviour { [Tooltip(显示动画缓动曲线)] public AnimationCurve showCurve; [Tooltip(隐藏动画缓动曲线)] public AnimationCurve hideCurve; [Tooltip(动画播放速度)] public float animationSpeed 1.0f; [Tooltip(控制动画的UI)] public GameObject targetObject; /// summary /// 播放UI显示动画 /// /summary public IEnumerator ShowUI(GameObject uiObject) { float timer 0f; while (timer 1f) { float scaleValue showCurve.Evaluate(timer); uiObject.transform.localScale Vector3.one * scaleValue; timer Time.deltaTime * animationSpeed; yield return null; } } /// summary /// 播放UI隐藏动画 /// /summary public IEnumerator HideUI(GameObject uiObject) { float timer 0f; while (timer 1f) { float scaleValue hideCurve.Evaluate(timer); uiObject.transform.localScale Vector3.one * scaleValue; timer Time.deltaTime * animationSpeed; yield return null; } } /// summary /// 开始播放显示动画 /// /summary public void StartShowAnimation() { if (targetObject ! null) { StartCoroutine(ShowUI(targetObject)); } } /// summary /// 开始播放隐藏动画 /// /summary public void StartHideAnimation() { if (targetObject ! null) { StartCoroutine(HideUI(targetObject)); } } }使用方法将脚本挂载到任意GameObject上在Inspector面板中配置显示曲线showCurve和隐藏曲线hideCurve设置动画速度animationSpeed和目标对象targetObject通过调用StartShowAnimation()或StartHideAnimation()方法触发动画也可以在代码中直接调用协程方法StartCoroutine(ShowUI(targetObject))结语可以再研究一下这个曲线建议在实际使用中根据需求进一步扩展功能集成到更复杂的UI动画系统中。

相关新闻

聚合90家免费API、独创Token压缩、免20美元月费:免费Claude Code

聚合90家免费API、独创Token压缩、免20美元月费:免费Claude Code

聚合90家免费API、独创Token压缩、免20美元月费:免费Claude CodeAI辅助编程工具正在改变开发者的工作方式,但高昂的订阅费用让许多人望而却步。本文将介绍两个开源项目——OmniRoute和Free Claude Code,它们能让你完全免费地使用Claude Code等…

2026/7/27 5:32:32 阅读更多 →
HPI控制寄存器深度解析:嵌入式通信中主从处理器协同的关键配置

HPI控制寄存器深度解析:嵌入式通信中主从处理器协同的关键配置

1. 项目概述:HPI控制寄存器在嵌入式通信中的核心地位在嵌入式系统开发,尤其是涉及多处理器协同工作的复杂项目中,主机端口接口(HPI)扮演着至关重要的角色。它就像一座连接外部主机(如ARM应用处理器&#xf…

2026/7/27 5:32:32 阅读更多 →
快消行业RTM数字化变革:提升渠道效率与预算精准化

快消行业RTM数字化变革:提升渠道效率与预算精准化

1. 快消行业RTM数字化变革的必然性 快消行业正面临前所未有的渠道管理挑战。传统RTM(Route to Market)模式中,品牌商需要管理数十万个终端网点,但实际能有效覆盖的不足30%。某国际饮料巨头曾做过测算:其业务代表平均每…

2026/7/27 5:31:32 阅读更多 →

最新新闻

M2.7框架提升GPU利用率:科学计算自动化实践

M2.7框架提升GPU利用率:科学计算自动化实践

1. 项目背景:当科研遇上闲置GPU 凌晨3点的实验室,显示器荧光映着半杯凉透的咖啡。这是我第七次手动启动蛋白质分子动力学模拟任务,盯着屏幕上跳动的GPU利用率曲线——那根代表计算资源的蓝色线条在任务间隙总是不甘心地跌到谷底。作为计算化学…

2026/7/27 5:46:41 阅读更多 →
Linux文件描述符原理与高并发IO优化实践

Linux文件描述符原理与高并发IO优化实践

1. 文件描述符的本质理解在Linux系统中,文件描述符(File Descriptor)这个看似简单的概念实际上蕴含着UNIX哲学的精髓。每个进程启动时,内核都会为其维护一张文件描述符表,这个表的索引就是我们常说的fd数字。但这里的&…

2026/7/27 5:46:41 阅读更多 →
Factory Missions:40天连续工作的AI智能体任务管理系统

Factory Missions:40天连续工作的AI智能体任务管理系统

1. 项目概述:Factory Missions 如何实现40天连续工作的AI智能体Factory最新推出的Missions系统,将AI智能体的自主工作能力提升到了前所未有的高度。这个搭载在Droids智能体上的任务管理系统,能够自主规划并执行长达40天的复杂工程任务。与传统…

2026/7/27 5:46:41 阅读更多 →
【单片机毕业设计推荐】基于 STM32/51 单片机的水质 pH、温度与浑浊度监测换水控制系统设计,基于 STM32/51 单片机的水体多参数智能监测与自动换水装置设计(021503)

【单片机毕业设计推荐】基于 STM32/51 单片机的水质 pH、温度与浑浊度监测换水控制系统设计,基于 STM32/51 单片机的水体多参数智能监测与自动换水装置设计(021503)

文章目录20 个相关毕业设计备选题目项目研究背景摘要总体方案核心功能一、数据采集核心功能二、人机交互基础功能三、分级报警辅助功能四、自动控制核心功能技术路线项目演示关于我们项目案例源码获取温馨提示:本人主页置顶文章(点我)有 CSDN 平台官方提供的学长联系…

2026/7/27 5:46:41 阅读更多 →
正则表达式实战:从基础到高效应用的完整指南

正则表达式实战:从基础到高效应用的完整指南

1. 正则表达式为何如此重要正则表达式就像文本处理领域的瑞士军刀,它能帮我们快速解决各种字符串匹配和提取问题。我在处理日志分析、表单验证和数据清洗时,正则表达式几乎每天都会用到。但写出一个"完美"的正则,往往比想象中要困难…

2026/7/27 5:46:41 阅读更多 →
Typora -mac版本永久免费

Typora -mac版本永久免费

适用于 Typora 1.9.5 或更早的版本 打开typora包内容找到 /Applications/Typora.app/Contents/Resources/TypeMark/pagedist/static/js/LicenseIndex.180dd4c7.6d698c41.chunk.js 使用文本编辑器打开 搜索 hasActivated"true"e.hasActivated 将它改为 hasActivate…

2026/7/27 5:45:41 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻