【Unity基础】4.动画Animation

2023-09-17 02:25:24

 【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键盘,点击来多选

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

更多推荐

Python爬虫从端到端抓取网页

网页抓取和RESTAPI简介网页抓取是使用计算机程序以自动方式从网站提取和解析数据的过程。这是创建用于研究和学习的数据集的有用技术。虽然网页抓取通常涉及解析和处理HTML文档,但某些平台还提供RESTAPI来以机器可读格式(如JSON)检索信息。在本教程中,我们将使用网络抓取和RESTAPI创建真实的数据集。如何运行代

Git学习笔记1

任务要求:1、使用git提交代码到仓库;2、实现自动代码发布系统;1、了解DevOps的发展历程和思想;2、学会git版本控制;3、会使用github公有仓库和gitlab私有仓库;4、了解CI/CD;5、使用jenkins实现自动发布;DevOps是一种实现Dev(开发)与Ops(运维)工作流有效联合的思想。最终目标

深入探索OCR技术:前沿算法与工业级部署方案揭秘

深入探索OCR技术:前沿算法与工业级部署方案揭秘注:以上图片来自网络1.OCR技术背景1.1OCR技术的应用场景OCR是什么OCR(OpticalCharacterRecognition,光学字符识别)是计算机视觉重要方向之一。传统定义的OCR一般面向扫描文档类对象,现在我们常说的OCR一般指场景文字识别(SceneT

服务器数据恢复-热备盘同步过程中硬盘离线的RAID5数据恢复案例

服务器数据恢复环境:华为OceanStor某型号存储,11块硬盘组建了一组RAID5阵列,另外1块硬盘作为热备盘使用。基于RAID5阵列的LUN分配给linux系统使用,存放Oracle数据库。服务器故障:RAID5阵列1块硬盘由于未知原因离线,热备盘激活开始同步数据,在热备盘同步的过程中又有1块硬盘离线,RAID5阵

一起学数据结构(7)——树及二叉树的基本概念及存储

前面的关于数据结构的文章中,介绍了顺序表,链表,栈,队列等数据结构。对于以上数据结构,均是一对一的关系。本篇文章将对于一对多的数据结构——树进行解析。目录1.树的定义及基本概念:1.1树的定义:1.2树的基本概念及术语:2.树的存储:3.二叉树的概念及结构:3.1二叉树的概念:3.2两种特殊的二叉树:3.2.1满二叉树

Learn Prompt-ChatGPT 精选案例:写作&博客

在ChatGPT的帮助下,文本内容的产出,尤其是撰写博客文章的过程得到了进一步的简化。你可以让ChatGPT激发你的灵感,也可以让它美化你的文章内容。这里我们希望能通过prompt写出一篇以“ChatGPT对社会各行各业的影响”为主题的博客。本页我们希望你可以使用ChatGPT网页版,利用ChatGPT写作的过程应该是

「聊设计模式」之模板方法模式(Template Method)

🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅!前言在软件开发中,设计模式是经典的解决方案,它们被广泛应用于面向对象的程序设计中。其中,模板方法模式(TemplateMethod)是一种常用的行为型设计模式,它定义一个操作中的算法骨架,而将一些步骤延迟

推进“数智+数治”,中期科技智慧公厕驱动城市公厕更新升级发展

随着城市化的快速发展和人口的不断增加,公共厕所这一基础设施的更新升级成为了亟待解决的问题。过去的传统公厕往往存在着环境脏乱差、无法保证使用者的舒适度等诸多问题。而智慧公厕则能够通过互联网和物联网的技术手段,实现智能化的运行管理,为市民提供更加便捷、舒适的使用体验。如中期科技「智慧公厕-智慧厕所」,拥有厕位智能监测与引导

【Python深度学习】深度学习框架Tensorflow、Pytorch介绍

深度学习已经成为了人工智能领域的一股重要力量,而深度学习框架则是在这个领域中进行研究和应用的必备工具。常见的深度学习框架包括TensorFlow、PyTorch、Keras、Theano和Caffe等,其中TensorFlow和PyTorch是最受欢迎的两个框架。本文将着重介绍这两个框架的优缺点以及应用领域。1.Ten

企业架构LNMP学习笔记40

框架配置实现读写分离:1)修改项目配置文件:return[//数据库类型'type'=>'mysql',//服务器地址//1、主从数据库的连接地址主在前从在后'hostname'=>'192.168.17.100,192.168.17.105',//2、主从数据库的名称、用户、密码一样的话,只配置一份即可。如果不一样,

算法通过村第七关-树(递归/二叉树遍历)白银笔记|递归实战

文章目录前言1.深入理解前中后序遍历从小到大递推分情况讨论,明确结束条件组合出完整的方法:从大到小画图推演总结前言提示:没有客观公正的记忆这回事,所有的记忆都是偏见,都是为自己的存活而重组过的经验。--国强生《断代》1.深入理解前中后序遍历深度优先遍历有前中后序三种情况,大部分人看过后就可以写出来,但是很多人只是记住了

热文推荐