首页 > 其他分享 >Unity动画系统学习笔记

Unity动画系统学习笔记

时间:2023-06-08 11:00:55浏览次数:37  
标签:动画 游戏 动画片 笔记 复用 Unity 动画文件

title: Unity动画系统学习笔记
date: 2023-06-07T07:42:12Z
lastmod: 2023-06-07T11:27:45Z

Unity动画系统学习笔记

动画系统

  • Unity 动画系统

    • 动画片段 Animation Clip:动画资源,用于展示游戏物体变化

    • 动画状态机 Animator Controller:控制游戏物体各动画片段播放与切换

    • 动画组件 Animator Componet:引用动画状态机(和替身),为游戏对象提供动画功能,为游戏脚本提供控制动画功能。

      image

    • 替身 Avatar(人型动画):复用人形动画片段。


动画片段(Animation Clip) 是 Unity 的动画资源,用来展示游戏物体变化情况

它可以是游戏角色的闪转腾挪,也可以是一扇门的开闭,甚至是 UI 界面的淡入和淡出。

在 Unity 中,我们可以导入外部(FBX)的动画资源,也可以选择在 Unity 中自行制作(手动 k 帧)。


有时候我们希望可以对复杂的动画资源进行复用(尤其是人形动画为了解决这一问题,Unity 引入了替身的概念。

替身(Avatar)是一种人形动画骨骼的标准,所有按照同一标准配置好的人形角色都可以播放同一套动画。


在位某个游戏对象,比如玩家角色准备好动画片段之后,我们就可以把它放入动画状态机进行管理。

动画状态机(Animator Componet)会帮助我们跟踪当前动画的播放状态,并且根据我们的设置来决定何时以及如何切换动画片段。

我们知道游戏对象的功能是由组件提供的,那么一个游戏对象,比如玩家角色希望拥有播放动画的功能时,

它就必须要挂载一个相应的组件,这个组件就是动画组件(Animator Componet)


我们会把游戏对象需要的动画状态机放入该组件,如果游戏对象使用了替身系统,我们也需要把它对应的替身放进去,

然后我们就可以在游戏脚本中访问这个动画组件,从而自由地控制游戏对象的动画。

image

​​

动画片段

让我们从动画片段(Animation Clip)开始深入理解整套 Unity 动画系统。

动画片段可以由外部导入,也可以在 Unity 中制作。

外部导入参考【Unity 游戏开发入门 08】:3 分钟学会白嫖顶级人形动画资源——从 Mixamo 到 Unity_哔哩哔哩_bilibili

接下来演示如何在 Unity 中制作简单的动画片段。

制作动画片段

使用 Unity Animation 制作开门动画片段。

1. 制作门

新建一个 3D 游戏对象 Cube,并通过调整其 Scale 参数,使其看起来像一扇门。

image

2. 制作门轴

如果调整门 Rotation 的 Y 参数,门会以自己为中心自转,而不是绕门的一边公转。

所以需要在门的一边设置一个旋转参考点,并设为门的父对象。

此时,调整参考点 Rotation 的 Y 参数,门就会围绕该点公转,实现开门效果。

​​image​​

3. 创建动画文件

打开 Animation 窗口。

选中参考点 Pivot,点击 Animation 的 Create,选择位置保存将要制作的动画片段,

按下 Animation 的 Create 后,我们同时拥有了动画系统的全部三个组成部分。

​​image

动画片段的本质

动画片段文件是使用标记语言 YAML 编写的文件。

动画片段文件是一个描述游戏物体变化正太的文本文件。

Unity 资源文件大多都是 YAML 语言编写的文本文件(动画片段、动画控制器、预制件、场景等等)。

image

image

image

image​​​

4. 制作开门动画

image

image

image

5. 理解动画复用

是否能够用一个动画文件旋转任意一个游戏对象?

动画复用原理

image

image

image

处理多个游戏物体的动画片段,会在文件中写上该些游戏物体的名称。

Unity 通过名称找到正确的游戏物体,然后按照动画文件中的描述改变这些游戏物体,播放动画。

游戏对象的名称如果和动画文件里不一致就无法正常播放。

反之,如果另一组游戏对象的名称都和动画文件里描述一致,就可以复用动画。

image

推广到人物游戏物体,我们把人体的每一个关节都制作成一个 pivot,然后用一个动画片段文件来描述这些 pivot 的旋转,就可以得到一个人物的动画。

这些 pivot 的组织结构就是人体动画的骨骼。

人体动画的骨骼和动画片段,我们一般会通过专门的软件制作,比如 3DMax,Maya 和 Blender。

一个人物动画文件有两部分,分别是骨骼结构和动画片段。

将人物动画文件拖进游戏场景,使其成为游戏对象,并给骨骼挂上蒙皮,就可以看到包含动作的人物游戏物体。

只要骨骼结构一致,命名也一致,那么人体动画文件也可以复用。

但如果从不同地方找到人物模型,他们的骨骼结构和命名方式并不相同,难以复用人体动画。

Unity 为我们提供一个简便的解决方案——Avatar 替身系统。

动画复用实践

image

image

标签:动画,游戏,动画片,笔记,复用,Unity,动画文件
From: https://www.cnblogs.com/tongxian/p/unity-animation-system-learning-notes-nxxj4.html

相关文章

  • Python+Redis学习笔记
    首先,通过pip来安装操作redis的相关包,pipinstallredis然后导入我们要使用的模块,formredis.ClientimportRedis然后,通过docker启动redis,fromredis.clientimportRedisr=Redis(host="0.0.0.0",port=6379,db=0,password="")#r.set("kol_height",187)res=r.......
  • Unity 3D 的NEW (堆内存)
    用容器装在AWEKENEW运行时NEW会导致分配内存时界面卡住new才刷新程序帧AWEKE是程序启动时还没走完第一帧的开头执行AWEKE里面的代码常量也在Aweke初始化赋值                                  ......
  • 嵌入式相关知识点概念笔记
    01操作系统(OperatingSystem,OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。......
  • 自然语言处理(NLP)学习笔记——文本预处理
    自然语言处理入门1、什么是自然语言处理自然语言处理(NaturalLanguageProcessing,简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域。2、自然语言处理的发展简史1950年,计算机科学之父图灵在论文中提出“机器可以思考吗”者一划时代的问题,从此促成了人类语言学与计......
  • 算法学习笔记(24): 狄利克雷卷积和莫比乌斯反演
    狄利克雷卷积和莫比乌斯反演看了《组合数学》,再听了学长讲的……感觉三官被颠覆……目录狄利克雷卷积和莫比乌斯反演狄利克雷卷积特殊的函数函数之间的关系除数函数和幂函数欧拉函数和恒等函数卷积的逆元莫比乌斯函数与莫比乌斯反演求法数论分块(整除分块)莫比乌斯反演的经典结......
  • 博客与笔记
    最近发现语雀的会员在今年9月即将过期,这意味着不能接下来语雀对我来说更类似于笔记软件,不能再发布内容了。笔记更像是自己不成熟的纪录,博客更多的是将解决问题的步骤作为可以分享的经验发布出来。 芥川龙之介曾经有写过一段随笔:“我有候会想,二十年后,五十年后,甚或一百年后的事。......
  • 网络学习笔记:华为 voice vlan配置(设备型号s7700核心)
    组网结构简介1、核心s7700下面连接电话交换机s5735(POE供电给IP话机),dhcp,voicevlan等配置在s7700实现,s5735充当傻瓜式交换机使用。2、目标实现数据vlan125给PC,语音vlan124给话机,话机连接交换机电口,PC连接话机的PC口使用。配置dhcp配置Vlan124/125#全局dhcpenable##......
  • 阅读笔记之《程序员修炼之道-从小工到专家》八
    第41节注重实效的团队1、书籍的前几章讲了几条如何成为注重实效的开发者的建议,当然他们也对团队有所帮助,如果个体都是注重实效的,那他对整体起的作用更大。2、不要留破窗户:作为整体的团队更不应该容忍代码质量的问题,不规范的不在乎质量的团队,很有可能把那些注重实效的开发者带偏......
  • 阅读笔记之《程序员修炼之道-从小工到专家》九
    第46节傲慢与偏见1、注重实效的程序员不会逃避责任,相反,我们乐于接受挑战,乐于使我们的业务知识广为人知。2、过去时代的手艺人为能在他们的作品上签名而自豪,你也应该如此。SignYourWork.3、KentBeck在极限编程(XP)里的建议是采用公共的代码所有权,其还要求了结对编程,以防匿......
  • 阅读笔记之《构建之法》一
    在这一章中,作者为我们介绍了一些关于软件工程的基本知识。①软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容的完成,才能完成把整个程序转化成为一个可用的软件的过程。扩展的推论:软件企业=软件+商业模式②软件开发的......