Unity用Animation组件制作简单的动画
游戏中经常会出现动态提示,例如提示当前金钱不足,一般会从屏幕中央弹出,然后缓慢的向上飘去。
今天游戏项目中遇到了这么个要求,以前做过几次,但总是会忘记,而且随着unity版本更新,新版本总有些莫名其妙的坑,今天写个文章记录一下。
首先用到的组件是Animation,这个组件可以制作动画。
先创建一个文件夹,添加一个Animation。
然后创建一个提示框文本,添加上Animation组件。
然后将刚才创建的Animation拖上去。
注意:在project面板下点击Animation组件是无法添加动画的。
需要点击具体的物体,比如文本,然后添加动画。
此处我们只需要改变位置,添加一个动画
此处我们选择位置。
最上面的这一栏,代表的是帧数,正常情况下0~60帧为一个循环就够用了。
点击左上角的红色录像按钮,代表开始录制动画。
此时,0帧时刻的位置我们不要管,移到60帧的位置,将文本的Y坐标增大。
然后点击这个播放按钮,会发现文本动起来了。
到此,一个动画效果就做好了,关掉录像,点击运行正常来说就刻意看到动画效果。但是unity高版本有一个坑(我用的是2019),需要点击动画组件,然后打开debug模式,将Legacy勾选上,才会正常运行。
此时有个问题,就是如何控制这个文本隐藏了,总不能一直放在这里把,最笨的方法是写一个延时调用Invoke,算好动画时间,将该物体隐藏。
进阶方法是用AnimationEvent
在上方点击右键,添加event,或者在左方点击小图标都可以。
点击之后右边会有一个AnimationEvent,这里点击可以选择脚本上绑定的脚本写的方法(Text组件),事件的方法需要写在这个脚本上,目前我只知道这一种方法,后续有其他的方法我还在补充。
完整的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class View: MonoBehaviour
{public AnimationTest animationTest;private void Update(){if (Input.GetKeyDown(KeyCode.A)){animationTest.gameObject.SetActive(true);}}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AnimationTest : MonoBehaviour
{public void EndEvent(){this.gameObject.SetActive(false);}
}
补充:我这里动画模式选择的是激活就播放,所以只要控制物体显示即可,如果其他模式可能要调用组件播放动画。
Demo
Unity用Animation组件制作简单的动画相关推荐
- Cinemachine教程 | Unity中如何快速制作相机切换动画?
摘要:使用Cinemachine可以快速制作相机切换动画,来看看我是怎么做的吧. 洪流学堂,让你快人几步.你好,我是跟着大智学Unity的萌新,我叫小新,这是我本周的学习总结报告哦. 好久不见.我最近 ...
- matlab仿真动画,用matlab制作简单仿真动画
用matlab制作简单仿真动画,并生成.avi格式的电影文件 MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅 第一种形式:利用for循环,在一定时间内控 ...
- CSS制作简单loading动画
曾经以为,loading的制作需要一些比较高深的web动画技术,后来发现大多数loading都可以用"障眼法"做出来.比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止 ...
- [Unity] 使用 Animation Rigging 制作瞄准 IK 1
1. 安装 Animation Rigging Package 官方的,直接在 package manager 里面就能看到 2. 配置 Rig 先点击角色 Perfab 打开 Perfab 点击菜单 ...
- layabox使用Animation创作一个简单的动画
在使用layabox引擎来创作一个动画的时候通常要执行以下几个步骤 1.引入图集 2.创建动画模板createFrames 将动画进行缓存 3.创建Animation实例 4.将实例放入容器中 5.使 ...
- 用3DS MAX制作简单的动画
1.山的制作 1.创建长方体 选择右侧命令面板创建Create→几何体Geometry→Box长方体,然后在Perspective透视图中建立一个长方体. 2.修改长方体 在命令面板选择Modify修 ...
- 100个Python实战项目(八)使用 OpenCV 制作简单图像动画
- MATLAB正月点灯笼老师课程笔记:第四课:使用MATLAB制作简单的动画效果
例1:不停前进的sin图像 X = -2*pi : 0.1 : 2*pi; Y = sin(X); h = plot(X, Y); %将整幅图保存进h里while true % 一直不停的运行下去X ...
- 用Animation制作简单的物体动画
** 用Animation制作简单的物体动画 ** 大家好,今天来记录一下制作简单物体动画的教程. 1.首先打开窗口(Window)-动画(Animation)-动画(Animation) 2.选中需 ...
最新文章
- (一次性搞定)ORB_SLAM2地图保存与加载
- GitHub重大好消息:私有仓库可无限制免费创建
- Keepalived+LVS+Nginx+DRBD+Heartbeat+Zabbix集群架构
- 设计模式——UML图
- 云计算的6个未来趋势
- python 类里面的单下划线与双下划线的区别(私有和保护) .
- latex 插图解释_仅使用一些插图和视频即可解释Big O符号
- c++builder中dbgrid控件排序_如何实现APP中各种布局效果?学会这几个控件就够了...
- php中在页面显示多选的内容,在html页面的表单选项中如何能有多选功能?(示例)...
- Atitit.提升语言可读性原理与实践
- r语言 svycoxph_生存分析的Cox回归模型(比例风险模型)R语言实现及结果解读
- php如何上传doc文件,php实现将上传word文件转为html的方法
- web前端学习34(表格标签 小说排行榜案例)
- 原生js实现横向 tab 栏切换,选中项自动滚动居中
- 1 区 IF:5+ | JGG 专刊征稿:人体微生物组
- UOJ #138. 【UER #3】开学前的涂鸦
- 实验(1)信号的采样
- 如何远程操控桌面实现远程管理运维?
- 淘宝联盟扣分54分流量异常申诉成功
- IDEA常用快捷键罗列,分享分享
热门文章
- win+linux双系统实现efi共存(即通过linux启动界面切换系统)
- 系统等保指的是信息系统的安全保护等级
- 华三防火墙添加web用户_h3c防火墙用户名密码怎么样设置
- 滞回比较器分析网址总结
- 分布式缓存Hazelcast详解及原理探究
- win10浏览器账户退出
- CHIP-seq流程学习笔记(9)-使用IDR 软件对生物学重复样本间的差异peak进行提取
- Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码
- 理论+实操: MySQL索引与事务、视图、存储过程(软件开发用的多)、存储引擎MyISAM和InnoDB
- 乾颐堂安德华为数通HCNA真题解析版(第2部分)