没有合适的资源?快使用搜索试试~ 我知道了~
Unity初学者之动画系统(动画工作流,动画片段,动画控制器,混合树等手把手带操作)
需积分: 5 0 下载量 40 浏览量
2024-08-29
16:22:14
上传
评论
收藏 7.73MB DOCX 举报
温馨提示
Unity有一个丰富而复杂的动画系统,称之为Mecanim动画系统。在游戏开发过程中,开发者往往会制作大量的动画系统来丰富游戏内容。本单元主要通过对Unity中动画系统的详细介绍,向学生展示动画系统的强大功能。通过本单元的学习,学生能够了解到Unity中的动画工作流程,熟悉相关动画组件,并且能够初步制作简单动画片段。
资源推荐
资源详情
资源评论
单元6 动画系统
[学习目标]
Unity有一个丰富而复杂的动画系统,称之为Mecanim动画系统。在游戏开发过程中,
开发者往往会制作大量的动画系统来丰富游戏内容。本单元主要通过对Unity中动画系统的
详细介绍,向学生展示动画系统的强大功能。通过本单元的学习,学生能够了解到Unity中
的动画工作流程,熟悉相关动画组件,并且能够初步制作简单动画片段。
任务6.1 导入动画资源
[任务情境]
【任务场景】
小明想在Unity中制作一段自己期望效果的动画片段,该动画片段可以控制物体的位置
移动以及缩放大小等等,同时还能添加事件帧,请你帮他一起实现吧!
【任务布置】
任务1:导入特定的动画资源,并编辑模型自带的为分解动画。
任务2:使用Animation窗口制作简单的动画片段,并对其添加事件。
[知识准备]
6.1.1 了解动画系统Mecanim
1. 动画系统概述
Unity 的 Mecanim 动画系统,是一套基于状态机的动画控制系统,它是面向动画应用
的动画系统,对于动画的制作编辑(Animation 窗口)功能相对有限重在如何从资源中提
取动画,配置融合动画,应用动画,复用动画以及为实际开发提供可视化的 GUI 编辑和监
视功能。以下是 Mecanim 动画系统的具体功能:
1) 为 Unity 的所有元素(包括对象、角色和属性)提供简单工作流程和动画设置。
2) 支持导入的动画剪辑以及 Unity 内创建的动画
3) 人形动画重定向——能够将动画从一个角色模型应用到另一角色模型。
4) 对齐动画剪辑的简化工作流程。
5) 方便预览动画剪辑以及它们之间的过渡和交互。因此,动画师与工程师之间的工
作更加独立,使动画师能够在挂入游戏代码之前为动画构建原型并进行预览。
6) 提供可视化编程工具来管理动画之间的复杂交互。
7) 以不同逻辑对不同身体部位进行动画化。
8) 分层和遮罩功能。
2. 动画工作流程
动画系统的工作流可以根据资源的走向分为三个模块:资源创建模块,资源控制模
块,资源实体化模块。
资源创建模块包括了外部导入和内部创建,内部创建涉及到了动画剪辑,动画剪辑包
含某些对象应如何随时间改变其位置、旋转或其他属性的相关信息。每个剪辑可视为单个
线性录制。来自外部的动画剪辑由美术师或动画师使用第三方工具创建而成,或者来自动
作捕捉工作室或其他来源。
资源控制模块是将动画剪辑编入称为Animator Controller 的一个类似于流程图的结构化
系统中。Animator Controller 充当“状态机”,负责跟踪当前应该播放哪个剪辑以及动画应
该何时改变或混合在一起。一个非常简单的 Animator Controller 可能只包含一个或两个剪
辑,例如,使用此剪辑来控制能量块旋转和弹跳,或设置正确时间开门和关门的动画。一
个更高级的 Animator Controller 可包含用于主角所有动作的几十段人形动画,并可能同时
在多个剪辑之间进行混合,从而当玩家在场景中移动时提供流畅的动作。
资源实体化模块即所有这些部分(动画剪辑、Animator Controller 和 Avatar)都通过
Animator组件一起附加到某个游戏对象上。该组件引用了Animator Controller,并(在必需
时)引用此模型的 Avatar。Animator Controller又进一步包含所使用的动画剪辑的引用。
6.1.2 动画片段的获取方式
1. 动画片段的概念
动画片段是Unity动画系统的基础,无论是新版动画系统还是旧版动画系统都需要使用
动画片段。动画片段中包含了对象如何随时间变化其位置、旋转或其他属性的信息。每个
片段可以被认为是一个单一的线性记录。比如行走、奔跑、跳跃、投掷或死亡等,这些基
本动作被称为动画片段(Animation Clip)。
动画片段主要的获取方式是外部导入和内部创建。接下来我们将来详细介绍这两种获
取动画片段的方式。
2. 帧与关键帧的概念
为了便于理解动画系统,这里介绍经常提到的帧。帧是一个量词,用于书法字画等,
在古代一幅画叫一帧。在计算机影视中,帧就相当于一个静止的画面,连续的帧就形成了
动画。而在Unity的动画系统中,使用一系列的帧来记录物体某一时间段的位置,旋转和大
小等信息的改变,这段时间内物体信息的变化就形成了动画。
Unity内部构建动画片段时,只需要使用部分帧来记录物体某些时刻的关键信息,这些
帧就叫做关键帧,关键信息(即关键帧)之间的过渡由Unity自动插值完成。
3. 外部导入动画片段
Unity支持从外部导入动画,并允许在编辑器中使用Animation窗口从头开始创建动画
剪辑,从外部导入的动画剪辑包括:
1) 在动作捕捉工作室中捕捉的人形动画
2) 美术师在外部 3D 应用程序中从头开始创建的动画
3) 来自第三方库(例如 Unity 的 Asset Store)的动画集
4) 从导入的单个时间轴剪切的多个剪辑。
在Unity中,我们可以通过剪辑导入的FBX身上带有的动画片段剪切多个剪辑,首先我们
需要获取模型资源,然后在该模型资源上导入动画,具体操作如下:
➢ 获取模型资源
在MeCanim系统中,可以通过2种途径来获取网格模型:
使用建模软件来创建网格模型,这类软件可包括3ds Max、Maya、Blender
等。
需要注意的是,Unity与建模软件单位之间的比例关系,例如:Unity:3ds
Max=1:100;Unity:Maya=100:1
通过Unity Asset Store上免费下载或购买适当的模型资源。
获取到模型资源后,需要将模型资源导入到项目工程中来,Unity导入资源类型包
括:
通用文件的导入:.fax、.obj
原始模型的导入:.Max、.Mb、.Blend 等等
➢ 导入动画片段
当导入模型资源后,即将模型放置在工程面板中的Assets文件夹中。此时只需要选中
该模型资源,然后在Inspector视图中的Import Setting面板中编辑其导入设置,如图所
示:
导入带有动画片段的模型后,我们又可以将将其分为两种类型,一种是预分解动画模
型,一种是未分解动画模型。
➢ 预分解动画模型
最容易使用的动画模型是含有预分解动画片段模型,这种动画模型在导入项目后,可
看到面板中包含多个可用的动画片段列表,还可对每个动画片段的帧数范围进行编辑调
整。
当我们选中导入的网格模型资源后,在Inspector视图中的Import Setting面板中选择
Animation选项卡,即可看到模型中储存的整段动画,可以单击面板底部的play按钮来预览
每个动画片段。还可以对每个片段的帧数范围进行编辑调整。如图所示:
➢ 未分解动画模型
提供单一连续动画片段的模型,这种情况可自行设定每个动画的片段所需要的帧。如
该模型动画一共有100帧,1-10帧为待机喘息状态,11-30帧为行走,31-60帧为奔跑,61-
80帧为攻击,81-100帧为死亡动画。
剩余60页未读,继续阅读
资源评论
逗自己玩
- 粉丝: 115
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功