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

【Unity基础】4.动画Animation

 【Unity基础】4.动画Animation

        大家好,我是Lampard~~
        欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 

 (一)Unity动画编辑器

(1)Animation组件

    这一张我们要学习如何在unity编辑器中,编辑一个动画。其中所使用到的组件是Animation,那什么是Animation组件呢?

Unity中的Animation组件是用于控制游戏对象动画的组件。Animation组件可以让开发者创建和编辑对象的动画,以及在运行时控制动画的播放和暂停等操作。

Animation组件有以下几个主要属性和方法:

- Clip:表示动画的剪辑,即具体的动画片段。每个动画剪辑都包含了一系列的关键帧,来定义对象在动画中的状态变化。

- PlayAutomatically:设置为true时,动画将在游戏对象启用时自动播放;设置为false时,需要通过代码调用Play()方法来手动启动动画播放。

- WrapMode:定义动画的循环模式,包括Once(只播放一次)、Loop(循环播放)、PingPong(往返播放)等。

- CrossFade:使用淡入淡出的方式切换到指定的动画剪辑,可以平滑过渡。

- Stop:停止当前播放的动画,并重置到起始状态。

- Play:播放当前设置的动画剪辑。

- Pause:暂停当前播放的动画,可以通过调用Play()方法继续播放。

除了上述属性和方法外,Animation组件还提供了一些回调函数,如AnimationClip事件、AnimationEvent等,用于在动画播放过程中执行自定义的逻辑

    ok大致了解那么多,那么我们开始动手做第一个动画吧~

(2)创建Animation Clip

    我们刚才得知,unity的Animation是通过一个个Clip来表示动画的剪辑,即具体的动画片段。每个动画剪辑都包含了一系列的关键帧,来定义对象在动画中的状态变化。

    那么我们现在就来创建一个Animation Clip,首先动画也是一种资源,因此需要在Assets创建一个目录去保存它

    然后我们只需要右键create,选中Animation选项就可以了,可以正常rename进行重命名噢

    至于挂载同样很简单,只需要拖动至我们想要挂的物体上即可,我们就选上次文章创建的矩形吧,unity会帮助我们默认选中一个Animation组件去挂载这个clip

(3)动画编辑

    至此我们就成功给这个带铁锈材质的矩形挂上了动画,我们运行结果惊喜地发现!什么也没有...

    不要慌,这其实是很正常地,因为我们都还没有编辑这个动画,下面我们就要打开动画编辑器去实现想要的效果了

    我们可以在Window菜单栏选中Animation这个选项,然后就可以打开动画编辑器了,我们可以把这个tab放到Game窗口方便编辑

    我们看看这个编辑器,左上角是一排控制播放编辑录制得按钮,可以用来测试当前的动画效果,左下方有Add Property按钮,我们可以选择想要的属性去进行动画编辑,右方则是一个时间轴一样的东西,它是用来记录我们编辑好的动画帧

(二)第一个动画

(1)选择动画构成组件

    我们可以理解一个物体动画就是从开始时刻,到结束时刻之间,物体某些组件的某些属性发生了变化

    点击Add Property就可以选择我们想要发生变化的组件,比如下面我们就加了transform组件的Position属性

(2)动画帧

    Animation编辑器右方是我们控制动画帧的地方,其上方的数字刻度就是代表着第几帧,我们可以看到默认有一个第0帧来记录着物体的初始Position信息

    如果我们此时想实现第0帧到第30帧,这个矩形的位置从Y=0,到Y=3这个动画,我们需要分三步设计:

    首先我们要点击红色圈圈按钮,让动画编辑器进入编辑状态,不点击编辑是不生效的哟

    然后我们要调整第0帧物体的Y轴位置,确保其在0的位置,我们可以通过Scene中拖动绿轴来调整其Y轴位置,但是更建议直接在inspector面板中直接调整会更准确

    最后我们需要创建一个第30帧的动画帧,创建的方式是点击30这个数轴,右键Add key即可,紧接着就是选中这个等30帧,把物体的positionY值调整至3

        至此我们点击动画编辑器的播放键看看效果

(3)添加多个属性

    我们人类可以一边唱歌一边跳舞,unity的动画也可以一边上升一边旋转哟

    怎么做呢?我们只需要再次点击Add Property,选中Rotation属性,在第0帧的时候把选择角度设置为0,第30帧设置为360度即可刚好转一个圈了

    看看效果:

(三)常规操作

(1)删除操作

    我们之前添加过一个帧,那么如何删除这个帧呢?只需要在时间轴上选中想要删除的帧,右键选择Delete Keys选项即可

    如果想要删除一个被影响的属性呢?比如我不想它一边上圣一边旋转了,只想它单独旋转则只需要在Animation编辑器的左侧选中想要删除的属性,点击Remove Property即可

(2)批量选中

    如果我们想要批量选中多个关键帧,我们可以通过用鼠标左键去框选想要操作的帧信息

    也可以按住shift/ctrl键盘,点击来多选

好啦今天就到这里,感谢阅读!!!
点赞,关注!!!

相关文章:

【Unity基础】4.动画Animation

【Unity基础】4.动画Animation 大家好,我是Lampard~~ 欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 (一)Unity动画编辑器 (1)Animation组件 这一张我们要学习如何在unity编辑器中&…...

FreeRTOS移植以及核心功能

文章目录 freertos和ucos区别,优缺点比较移植步骤核心功能内存管理(5种内存管理策略)FreeRTOS任务调度算法有三种时间管理通信管理 栈管理 freertos和ucos区别,优缺点比较 FreeRTOS(Free Real-Time Operating System&…...

重装系统(配置环境)

这里写目录标题 0.重装系统1.python1.1 anaconda1.2 pycharm1.3 深度学习环境配置 2.java2.1.安装JDK2.2.配置JDK环境变量2.3IDEA2.4 Maven 3.大数据3.1 虚拟机3.2 Hadoop平台3.3 存储3.4 采集3.5 计算3.6 查询3.7 可视化 0.重装系统 // An highlighted block var foo bar;1.…...

docker系列-报错以及解决指南

1. windows运行docker报错Windows Hypervisor is not presentDocker Desktop is unable to detect a Hypervisor.Hardware assisted virtualization and data execution protection must be enabled in the BIOS. Docker Desktop - Windows Hypervisor is not presentDocker D…...

Vue3快速上手

1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600次提交、30个RFC、600次PR、99位贡献者github上的tags地址:Release v3.0.0 One Piece vuejs/core GitHub 2.Vue3带…...

二叉搜索树(BST,Binary Search Tree)

文章目录 1. 二叉搜索树1.1 二叉搜索树概念1.2 二叉搜索树的查找1.3 二叉搜索树的插入1.4 二叉搜索树的删除 2 二叉搜索树的实现3 二叉搜索树的应用3.1二叉搜索树的性能分析 1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树&#xf…...

分析key原理

总结: key是虚拟dom对象的标识,当数据发生变化时,vue会根据新数据生成新的虚拟dom,随后vue进行新虚拟dom与旧虚拟dom的差异比较 比较规则: ①旧虚拟dom中找到了与新虚拟dom相同的key 若虚拟dom中的内容没变&#xff0c…...

[CISCN2019 华东南赛区]Web11 SSTI

这道SSTI 差点给我渗透的感觉了 全是API 我还想去访问API看看 发现这里读取了我们的ip 我们抓包看看是如何做到的 没有东西 我们看看还有什么提示 欸 那我们可不可以直接修改参数呢 我们传递看看 发现成功了 是受控的 这里我就开始没有思路了 于是看了wp 说是ssti 那我们看…...

百度春招C++后端面经总结

这次的面经,主要都是问操作系统、网络编程、C++ 这三大方向。 能明显感觉到,C++面试和Java或者Go面试重点,Java/Go主要是问MySQL、Redis。 一、介绍一下webserver项目 服务器开始运行,创建(初始化)线程池(IO密集型,线程数n+1); 创建 epoll 对连接进行监听 监听到连…...

小程序开发一个多少钱啊

在今天的数字化时代,小程序已经成为一种非常流行的应用程序形式。由于它们的便捷性、易用性和多功能性,小程序吸引了越来越多的用户和企业。但是,很多人在考虑开发一个小程序时,都会遇到同一个问题:开发一个小程序需要…...

C# 随机数生成 Mersenne Twister 马特赛特旋转演算法 梅森旋转算法

NuGet安装MathNet.Numerics 引用: using MathNet.Numerics.Random; /// <summary>/// 包括lower&#xff0c;不包括upper/// </summary>/// <param name"lower"></param>/// <param name"upper"></param>/// <para…...

C++进阶(二)

目录 1、Vector2D 默认构造、重载 2、char 深度理解 3、深度理解简单的类操作 1、Vector2D 默认构造、重载 #include <iostream> #include <cmath>class Vector2D { private:double x; // X坐标double y; // Y坐标public:// 默认构造函数&#xff0c;将向量初…...

zoneinfo

在Linux系统中&#xff0c;zoneinfo是一个包含了世界各地时区信息的目录&#xff0c;通常位于/usr/share/zoneinfo。这个目录下的子目录和文件名对应了各个时区的名称。例如&#xff0c;/usr/share/zoneinfo/America/Los_Angeles文件就包含了美国洛杉矶的时区信息。 你可以通过…...

基于微信小程序的实验室预约管理系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

腾讯mini项目-【指标监控服务重构】2023-08-17

今日已办 定位昨日发现的问题 来回测试发现依然出现该问题 将 pub/sub 的库替换为原来官方基于 sarama 的实现&#xff0c;发现问题解决了&#xff0c;所以问题的根本是 kafkago 这个库本身存在问题 依据官方的实现&#xff0c;尝试自定义实现 pub/sub sarama 与 kafka-go …...

前端需要知道的计算机网络知识----网络安全,自学网络安全,学习路线图必不可少,【282G】初级网络安全学习资源分享!

网络安全&#xff08;英语&#xff1a;network security&#xff09;包含网络设备安全、网络信息安全、网络软件安全。 黑客通过基于网络的入侵来达到窃取敏感信息的目的&#xff0c;也有人以基于网络的攻击见长&#xff0c;被人收买通过网络来攻击商业竞争对手企业&#xff0…...

#循循渐进学51单片机#定时器与数码管#not.4

1、熟练掌握单片机定时器的原理和应用方法。 1&#xff09;时钟周期&#xff1a;单片机时序中的最小单位&#xff0c;具体计算的方法就是时钟源分之一。 2&#xff09;机器周期&#xff1a;我们的单片机完成一个操作的最短时间。 3)定时器&#xff1a;打开定时器“储存寄存器…...

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(五)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 数据增强3. 模型构建4. 模型训练及保存5. 模型评估6. 模型测试 系统测试1. 训练准确率2. 测试效果3. 模型应用1&#xff09;程序下载运行2&#xff09;应用使用说明3&#xff09;测试结果 相关其它…...

Linux: Cache 简介

文章目录 1. 前言2. 背景3. Cache 硬件基础3.1 什么是 Cache &#xff1f;3.2 Cache 工作原理3.3 Cache 层级架构3.4 内存架构中各级访问速度概览3.5 Cache 分类3.6 Cache 的 查找 和 组织方式3.6.1 Cache 组织相关术语3.6.2 Cache 查找3.6.2.1 Cache 查找过程概述3.6.2.2 Cach…...

常见位运算公式使用场景

判断奇偶性&#xff1a;数值 x 为偶数当且仅当 (x & 1) 0。数值 x 为奇数当且仅当 (x & 1) 1。 交换两个数&#xff1a;使用异或操作符 ^ 进行交换。假设有变量 a 和 b&#xff0c;则可以使用以下公式交换它们的值&#xff1a; a a ^ b; b a ^ b; a a ^ b;取绝…...

virtualbox配置ubuntu1804虚拟机相关流程

virtualbox配置ubuntu1804虚拟机相关流程 相关版本能解决的问题安装流程1&#xff1a;新建虚拟机安装流程2&#xff1a;配置虚拟机安装流程3&#xff1a;安装虚拟机系统安装流程4&#xff1a;设置ubuntu 相关版本 virtualbox使用VirtualBox官网下载的6.1.34 r150636 版。ubunt…...

防火墙基本概念

思维导图 1. 什么是防火墙&#xff1f; 网络在远古时期没有防火墙大家都是联通的&#xff0c;any to any&#xff0c;没有防火墙的时代就相当于没有门的房子&#xff0c; 没有城墙的城市。 路由器与交换机的本质是转发&#xff0c;防火墙的本质是控制和防护。 防火墙&#xff…...

易点易动固定资产管理平台:打通BMP,实现高效流程管理与全生命周期管理

在现代企业管理中&#xff0c;固定资产的流程管理和全生命周期管理是提高效率和降低成本的关键。易点易动固定资产管理平台通过打通BMP&#xff08;Business Process Management&#xff09;系统&#xff0c;实现了固定资产流程管理和全生命周期高效化管理的目标。本文将详细介…...

uniapp webview实现双向通信

需求&#xff1a;uniapp webview嵌套一个h5 实现双向通信 uniapp 代码 <template><view><web-view src"http://192.168.3.150:9003/" message"onMessage"></web-view></view> </template><script>export defau…...

Linux动态库

定义&#xff1a;动态函数库&#xff0c;是在程序执行时动态&#xff08;临时&#xff09;由目标程序去调用 优点&#xff1a; 调用时不复制&#xff0c;程序运行时动态加载到内存&#xff0c;供程序调用&#xff0c;系统只加载一次&#xff0c;多个程序可以共用&#xff0c;…...

ESP-IDF学习——1.环境安装与hello-world

ESP-IDF学习——1.环境安装与hello-world 0.前言一、环境搭建1.官方IDE工具2.vscode图形化配置 二、示例工程三、自定义工程四、点灯五、总结 0.前言 最近在学习freertos&#xff0c;但由于买的书还没到&#xff0c;所以先捣鼓捣鼓ESP-IDF&#xff0c;因为这个比Arduino更接近底…...

【算法】二分答案

文章目录 相关链接什么时候使用二分答案&#xff1f;题目列表最大化最小化相关题目列表&#x1f4d5;2439. 最小化数组中的最大值解法1——二分答案解法2——分类讨论O(n) 2513. 最小化两个数组中的最大值&#xff08;二分答案lcm容斥原理&#xff09;&#x1f402;好题&#x…...

阿曼市场最全开发攻略,看这一篇就够了

中东是一个充满外贸机遇的市场&#xff0c;已经成为很多外贸人重点开发的市场。 阿曼的海岸南方和东方临阿拉伯海&#xff0c;东北方则抵阿曼湾。阿曼因为扼守着世界上最重要的石油输出通道——波斯湾和阿曼湾之间的霍尔木兹海峡&#xff0c;所以地理位置非常重要&#xff0c;…...

探讨UUID和Secrets:确保唯一性与数据安全的利器

&#x1f600;前言 在现代软件开发中&#xff0c;唯一标识符&#xff08;UUID&#xff09;和机密信息的处理是至关重要的。UUID是用于唯一标识数据记录和对象的128位值&#xff0c;确保了全球范围内的唯一性。同时&#xff0c;Python的secrets模块为处理机密信息提供了强大的随…...

06-Redis缓存高可用集群

上一篇&#xff1a;05-Redis高可用集群之水平扩展 1.集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会做主从切换&#xff0c;将某一台slave作为master&#xff0c…...

企业网站怎么搭建/信息流广告投放流程

对于 Python 是一门优雅的语言&#xff0c;这一点应该不会有太多人反对&#xff0c;随着我们对 CPython 实现的研究&#xff0c;不得不说 Python 的优雅一直渗透到它的底层&#xff0c;在 Python 的 C 实现这一层&#xff0c;几乎全部以 Python C API 实现&#xff0c;函数之间…...

驻马店市网站建设/北京推广

ImageCaptureCore 浏览媒体设备并通过您的应用以编程方式对其进行控制。 使用教程 使用ImageCaptureCore&#xff0c;您的应用程序可以&#xff1a; 发现连接的相机和扫描仪查看和修改已连接相机上的文件夹&#xff0c;文件和元数据使用系留拍摄直接在连接的相机上拍摄照片执行…...

贵州省城市建设厅网站/互联网网络推广公司

linux 是开源的操作系统&#xff0c;这样带来的好处是可以免费获取和使用。也可以定制自己的linux系统。由于开源也导致了系统安全的问题&#xff0c;linux也会收到一些系统底层的***。 一般的***手段&#xff1a; 1.密码暴力破解。用来破解用户密码。&#xff08;主…...

南京建设工程招聘信息网站/洛阳网站建设优化

json和dict的区别 JSON 是一种用于在系统应用之间进行数据传输的文本格式&#xff0c;而 Python 语言中的 dict 是一种内存中数据结构。由于 JSON 内容是文本&#xff0c;因此在其中查找一个 key 的时间复杂度是 O ( n )&#xff0c;而 dict 使用哈希值&#xff0c;时间复杂度…...

网站建设及优化 赣icp/如何快速推广网上国网

一&#xff0c;需求 迭代1 1&#xff0c;实现一个长度&#xff08;Length&#xff09;计算系统  用户既可以使用Mile为单位来记录一个长度&#xff0c;也可以用Yard为单位来记录 2&#xff0c;用户可以对比两个用不同单位表示的长度的相等关系  1 Mile 1760 Yard …...

有没有专做自驾游的网站/站长工具官网域名查询

背景&#xff1a; 运行测试程序后&#xff0c;top命令发现某个进程&#xff08;pid&#xff09;占用cpu达到100%。 查看哪个线程占用最多资源&#xff1a; ps mp pid -o THREAD,tid&#xff0c;命令查看这个进程下面的所有线程占用情况。 发现线程324占用最多。 使用jstack进行…...