Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)

大家好,我是SKODE。

小提示:选中左侧目录,可快速找到所需内容

本系列博客地址:传送门

 

一、概念介绍

动画:

本章所讲的动画,是美术同学给fbx模型绑定的骨骼动画。

 

这个动画呢,导入Unity后需要进行设置。在Unity中可设置为三种模式:

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第1张图片

 

None:不导入动画。

我们可以看到下图,将Boulder 1 骨骼设置为None模式,Project下,Boulder 1下仅有一个网格PolyBoulder01

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第2张图片

 

Legacy:老版本动画系统

Generic:通用模式

Humanoid:人形动画

 

 

二、Generic与Humanoid动画的区别

Generic:

它是新的动画系统,支持非人形(怪物)动画,也支持人形动画。

但它无法使用Humanoid动画重定向功能。即美术给一个模型做的动画,这些做的动画只能给这个模型使用,不能给其他模型使用。而Humanoid的动画重定向功能,可以实现一个模型的动画,给其他模型使用。

 

Humanoid:    

Humanoid是人形动画,不支持非人形动画。并可使用动画重定向功能。

拓展:

基础知识讲解:

动画,是模型的动作。不是视频“动画片”。

模型动画,是美术同事给模型骨骼绑定动作。骨骼驱动着模型进行运动。

动画重定向功能实现的逻辑:Unity自带一套unity骨骼系统。美术给人物模型做的动画也有一套美术骨骼系统。当设置为Humanoid时,Unity自带的骨骼会自动识别美术给模型做的骨骼,并一一对应起来。

再有新人物模型时,新模型的骨骼也会和Unity骨骼对应起来。

这样用原模型的动画,就可驱动着原模型的骨骼,驱动unity内置骨骼,继而驱动与unity内置骨骼对应的新模型的骨骼,使新模型做出运动。

 

 

选择Generic或者Humanoid后,系统都自动为Perfab模型生成Avatar。这个Avatar可以提供给其他同Humanoid的骨骼用来共用Avator(动画重定向),这个例子就是FBX_Female_Hero共用了FBX_Biker的Avatar,记得取消勾选导入FBX_Female_Hero的动画:Animations—Inport Animation取消勾选,不导入动画

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第3张图片

 

 

二、Humanoid导入方式 

1、将模型转化为Humanoid格式。

选中FBX模型,Inspector—Rig—Humanoid—Create From This Model/(Copy from Other Avatar)—Apply—Configure

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第4张图片

 

2、Humanoid属性讲解

绿色、白色都是Unity内置骨骼,会跟人物的骨骼节点映射,白色为未映射正确的。

实线为必须映射骨骼,虚线为非必须的

更改映射方法:点击Model里的白色骨骼,在Hierarchy里选择正确的骨骼节点,拖到它的Mapping(映射)对话框中

注意:Model里末端骨骼为上一级骨骼子节点,Hierarchy里面同理

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第5张图片

 

3、可在Preview里设置运动范围

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第6张图片

 

4、应用你做的设置

Apply—Done

 

 

三、骨骼映射

是将模型里的骨骼节点映射到Unity自带的骨骼模型上

Scene里白色、绿色骨骼为我们(美术)创建的骨骼,Mapping(映射)里面为Unity自带骨骼,我们创建的骨骼要映射到Unity自带的骨骼上

Hierarchy里面每个节点都与Scene模型一一对应,我们做的骨骼可能做得比Unity自带的多,也可能少,我们只需要将Unity必须要映射的骨骼映射过去就好了,保证逻辑关系

Unity动画丨六、Humanoid和Generic的区别、导入方式(骨骼映射、Avatar创建)_第7张图片

Scene里面有两块骨骼,左侧Hierarchy节点为长骨骼,它的父节点为短骨骼,他们两个都可以填入右侧Mapping,因为小骨骼带动大骨骼运动,两种方式都可以控制小臂运动。

 

 

一起进步

我是SKODE

你可能感兴趣的:(#,动画系统)