unity动画_UI动画案例 c#
首先我们打开一个项目

在这个初始界面我们需要做一些准备工作
创建基础通用包

在场景上创建一个Cube

选中Cube 在Window下点击Animation拖拽至运行窗口


点击创建


保存后

这个操作是给Cube添加了一个组件

对Cube_添加一个Position动画

设置几个帧位置的坐标(x,y,z)值




点击运行测试

再创建一个Animator

Animator(动画控制器):控制游戏对象的动画状态机,允许以交互式和可编程控制对象的动画
Animation(动画剪辑) :剪辑动画数据

Animation Controller : 是通过若干个状态组成的

Animation Clip 具体动画 :具体动画 用于创建、定义和管理游戏对象动画的一种资源
Motion 绑定动作 :将创建的动画绑定在 Motion中

Animation结构:

引入结束
接下来我们开始做UI动画:
我们先将Cube删除
在UI文件夹的Images添加一个图片背景

创建一个画布


重置Canvas位置 并调成世界坐标

在Canvas下创建一个Image 并调成不显示 作为一个主面板

修改长和宽并调成不显示状态

改名为MainPanel 作为主面板

在主面板下创建一个Image

导入外边框资源 并设置成精灵

设置固定尺寸


再在Contentimage下创建按钮Button

我们再多次创建button设置背景和字体颜色的时候 可以copy设置好的组件复制即可

粘贴到新的button上

ctrl + d复制五个并修改名字


copy

修改图片

接下来我们进入设置UI动画部分
首先给MainPanel增加 Animator动画控制器

这时Animator 需要 绑定Animator Cotroller但是现在我们还没有Animator Cotroller需要自己创建


改名MainPanel

此时就可以把刚创建的Animator Controller 绑定MainPanel

双击Animator Controller打开

创建一个打开状态

我们发现新创建的Opened状态 的 Motion并没有绑定动画,这时需要我们创建一个Animation



现在就可以把动画绑定在Opened状态的Motion上了

接下来制作Opened动画



作为主菜单只需要一个位置

Opened状态做好了,接下来我们做Closed状态


对关闭状态添加一个位置


设置好后我们接下来做一个切换
在Animator中我们可以看出运行后是一个打开主菜单的UI页面

建立连接线——过渡


再建立往返连接线


运行项目我们可以看到主菜单在循环做打开和关闭的两个状态的转换

点击Animator的Opened进入Closed的连接线在右侧我们可以添加一个限制条件
但是我们在添加条件前需要创建参数

我们添加一个bool类型的参数作为一个开启关闭的开关
改名IsOpen

有了参数之后我们就可以在连接线(过渡)上添加条件了


修改条件限制


取消延迟播放时间


快速创建 第二个菜单
选中SecondPanel 点击Window下的Animation的create



接下来再添加一个Second_Closed


对Second_Opened增加一个位置性质


同样方法设置第二个菜单的关闭状态

Animation做好之后做Animator部分
首先添加一个IsOpened参数

接下来连接线做过渡

设置线


做好两个菜单的动画和动画控制器之后 创建一个脚本

脚本名称为 AnimationParameteController动画参数控制器

using UnityEngine;
public class AnimationParameteController : MonoBehaviour{
public Animator main_Ani;
public Animator second_Ani;
void Start()
{
}
void Update()
{
}
public void OnClick_OpenSecond() {
if (main_Ani == null || second_Ani == null)
return;
main_Ani.SetBool("IsOpen", false);
second_Ani.SetBool("IsOpen", true);
}
public void OnClick_SecondBack()
{
if (main_Ani == null || second_Ani == null)
return;
main_Ani.SetBool("IsOpen", true);
second_Ani.SetBool("IsOpen", false);
}
}
在unity场景中创建一个空物体挂载代码

命名为AnimationParameteController

接下来绑定UI菜单

再绑定事件 选择Second_Panel 下的 Btn1 Open设置成函数中的打开

选择事件的方法

同样方法做Second_Opend的 Exitbutton按钮

打开MainMenu_Opend的开启状态

运行即可点击按键启动UI动画



接下来我们做左侧的旋转UI动画
我们的下面三个菜单 可以做一个旋转Animator

但是需要注意:如果用同一个Animator也就是同一个动画器的话需要让子类名字都必须相同

我们开始制作这个动画



再添加一个Item_Closed.anim的动画

我们先将除了Item的两个第三菜单隐藏

改变它的y轴我们让它旋转但却发现不是我们想要的单侧旋转而是中心旋转

我们通过修改子物体x的位置作为轴使父物体按子物体中心旋转

修改父物体旋转角度即可看到完成了开门式旋转

接下来我们对Item_Opend做具体动画Animation



删除role和music复制两个Item 进行绑定 主菜单的剩下三个按钮事件

最后完善添加隐藏 选择面板下的Image属性的内容 关闭时将内容隐藏 如果没有image关闭后 animator会失效

添加后取消勾选



End
相关文章:
unity动画_UI动画案例 c#
首先我们打开一个项目 在这个初始界面我们需要做一些准备工作 创建基础通用包 在场景上创建一个Cube 选中Cube 在Window下点击Animation拖拽至运行窗口 点击创建 保存后 这个操作是给Cube添加了一个组件 对Cube_添加一个Position动画 设置几个帧位置的坐标(x,y,z)值 点击运行测…...
“岗课赛证”融通的物联网综合实训室建设方案
一、概述 随着5G技术的普及应用和产业经济的革新发展,物联网产业所呈现的广阔前景带来了对创新型技术技能人才的迫切需求。高职院校物联网专业建设也因此转变为面向国家战略性新兴产业发展需求。当前,“岗位课程竞赛证书”融通的培育理念,是高职院校物联网人才培养和专业优化的…...
Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备
❤️博客主页: iknow181🔥系列专栏: Python、JavaSE、JavaWeb、CCNP🎉欢迎大家点赞👍收藏⭐评论✍ 目录 一、前言 二、准备工作 三、Telnetlib Telnetlib介绍 Telnetlib模块及操作方法介绍 Telnetlib配置设备 T…...
中文编程开发语言工具开发的实际软件案例:称重管理系统软件
中文编程开发语言工具开发的实际软件案例:称重管理系统软件 中文编程开发语言工具开发的实际软件案例:称重管理系统软件,软件可以安装在电脑上,也可以安装在收银机上,支持触摸和鼠标点,想学编程可以关注系统…...
CSS如何画出平行四边形
其实如果项目中有这样的画图 还是会用到的比如 看起来样子怪怪的 哈哈 但是确实可以完成一些需求哈哈哈 这个就要用到一个css3转换的一个 属性了 skew 让一个元素再平面上进行倾斜 div {width: 200px;height: 50px;background-color: #f00;transform: skew(20deg);margin: 100…...
【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 系列文章目录速率带宽延迟/时延(delay或latency) 下面介绍一些计算机网络中常用的性能指标。在本篇中涉及速…...
数字孪生与智慧城市:重塑未来城市生活的奇迹
今天,我们将探讨数字孪生和智慧城市两个颠覆性技术,它们正引领着未来城市生活的巨大变革。随着科技的飞速发展,数字孪生和智慧城市成为实现可持续发展和提升居民生活质量的关键策略。 数字孪生:实现现实与虚拟的完美融合 数字孪生…...
大势智慧是否支持航拍图片生成3D建模?
答:支持的,重建大师软件可以导入照片完成三维建模。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件,输入倾斜照片,激光点云,POS信息及像控点,输出高精度彩色网格模型,可…...
ASO优化之增加APP应用下载安装量的技巧1
想要增加APP应用的下载安装量,首先要在发布之前,分析我们的应用推广策略该如何运作并进行调整。提高知名度的基础是关键词,其次使用社交网络来推广我们的应用程序。 1、基础与规划。 在启动应用程序或者是实行ASO计划之前,需要了…...
点云从入门到精通技术详解100篇-雨雾环境下多传感器融合SLAM方法
目录 前言 国内外研究现状 传统SLAM研究现状 多传感器融合SLAM研究现状...
electron安装失败时配置
electron下载前配置 使用命令打开npm全局配置,C盘下的.npmrc文件。 npm config edit 然后在空白处添加 electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/ electron_mirrorhttps://cdn.npmmirror.com/binaries/electr…...
酷开科技为你的电视增添魅力,点亮每一个娱乐瞬间!
有没有想过有一天,你的电视可以像超人一样,为你的每一个娱乐时刻带来炫酷的观影体验。酷开科技,作为智能电视领域内的领军企业,正是你期待的那个“超人”,不妨让我们探索一下酷开科技的独特魅力,为你枯燥乏…...
Spring Cloud 之 Feign 简介及简单DEMO的搭建
Feign简介: Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验。 Feign是在RestTemplate基础上封装的,使用注解的方式来声明一组与服务提供者Rest接口所对应的本地…...
SAS国际认证考试报名流程
文章目录 注册SAS账号登录SAS账号预约考试考试注意事项 注册SAS账号 SAS考试报名入口:https://home.pearsonvue.com/sas 注册SAS账号 邮箱验证 点击上述邮件发送来的链接,跳转到如下界面。输入密码即可。 完成注册。选择login。 登录SAS账号 输入Email …...
CSS 什么是外边距重叠?重叠的结果是什么?
外边距重叠是CSS中的一种现象,当两个(或更多)相邻的元素具有外边距时,它们的外边距可能会合并(重叠)成一个较大的外边距,而不是简单地叠加在一起。外边距重叠通常出现在垂直方向上,有…...
MultiPlayerShoot----C++学习记录01打包测试项目
首先将多人游戏插件plug文件夹移至项目目录 打开config/DefaultEngine.ini(5.0的虚幻引擎内容略不一样)和Game.ini对里边的内容进行编辑。 DefaultEngine.ini [/Script/Engine.GameEngine] NetDriverDefinitions(DefName"GameNetDriver",Driv…...
机器学习——奇异值分解二(特征分解+SVD纯理解)
矩阵的特征分解 特征值和特征向量的定义 抄来的:奇异值分解 困惑1:特征值和特征向量,和原矩阵是怎样的关系,需要一个栗子进行更具象的认识 困惑2:为什么多个特征向量组合成的矩阵,可以构成矩阵A的特征分解…...
牛客:FZ35 滑动窗口最小值
FZ35 滑动窗口最小值 文章目录 FZ35 滑动窗口最小值题目描述题解思路题解代码 题目描述 题解思路 遍历数组,然后遍历窗口找到最小值,加入到结果集里面 题解代码 func minSlidingWindow( nums []int , k int ) []int {// write code heren : len(nums…...
MAC上设置IDEA如何一个窗口打开多个项目,多个tab
1、IDEA一个窗口打开多个项目 如果你打开了多个项目、每次切换都要半天,想让项目都汇聚到top栏 点击 Window - Merge All Project Windows 即可 但是这样比较挫,每次打开新的项目都还是会重新打开一个IDEA窗口 so,如何设置项目在同一个窗口…...
【学习笔记】RabbitMQ02:交换机,以及结合springboot快速开始
参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 四、RabbitMQ :Exchange 交换机4.1 交换机类型4.2 扇形交换机 Fanout Exchange4.2.1 概念4.2.1 实例:生产者4.2.1.1 添加起步依赖4.2.1.2 配置文件4.2.1.3 JavaBean进行配置4.…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
