导读
大家是不是觉得VR中的动画特别神奇,其实它是基于Unity中的动画系统Mecanim实现的,Unity在5.0之后,Mecanim动画控制越来越强大好用,小白甚至可以在稍微看下demo后,就可以构建自己的动画需求。本篇介绍通过Mecanim构建动画的整体流程,通过实例,对构建的各个部分进行介绍,其中穿插作者对部分参数或设置的理解。
好了,咱们愉快的开始吧。
文章中会涉及到一些常用术语,大家可以在“术语列表”中查看,其中涉及的主要术语有:
视频片段Animation Clip
阿凡达Avatar
重定向Retargeting
绑定Rigging
蒙皮skinning
动画组件Animator Component
动画控制器Animator Controller
动画层Animation Layer
动画状态机Animation State Machine
动画参数Animation Parameters
大家不用特意记忆这些术语,随着对动画系统的深入,许多术语自然就记住了。
动画基础内容
动画系统创建流程
⊙导入动画资源:导入外部动画资源或者unity创建的动画资源(这些动画资源保存在fbx格式文件中)。
⊙创建动画控制器:创建动画控制器,控制动作(通过状态机控制动画之间的切换)。
⊙导入外部人物模型:外部模型导入后和unity内部骨骼肌肉映射,之后生成avatar。
⊙资源关联:在动画组件中,关联动画控制器和avatar。
一、导入动画资源
此处的动画资源,是指动画片段,即animation chip,它一般包含在模型资源,即在fbx文件中。
Unity支持从外部导入和内部创建(或修改外部动画资源)两种方式导入动画资源,内部创建暂时不讲-较复杂,留待后续补充。
1.1unity支持模型格式
Unity 大部分动画资源都是在外部3D软件上创建的如3DMax,Maya等,支持的几种模型格式为fbx,obj,max,mb,blend,fbx为3D模型的通用格式,也是Unity建议使用的格式。
1.2Fbx文件内容
以下是一个导入的fbx动画资源的内容(包括骨骼结构,动画片段,动画avatar文件)
Ps:有的模型也会有网格mesh文件(后面会介绍到);有的不需要动画avatar文件(此时模型的avatarDefinition参数要设置为从外部获取avatar)。
1.3导入方式
导入方式很灵活,可以通过unitypackage一块导入多个fbx到asset目录下,可以直接把fbx文件复制粘贴到asset的目录下。
1.4资源获取
可以在assetstore中下载一些免费的动画资源,比如搜索defaultavatar,其中的Raw Mocap Data for Mecanim包括了很多基础的动画,用的同学可以下载下来:
当然,如果想要更好的一些资源,还是需要一些银子找些付费资源的。
让我们导入一些动画资源吧
现在,你已经可以导入构建自己的动画所需要的一些动画资源了。比如:idle(空闲状态的动画),walk(走动的动画),run(跑动的动画)。