Mecanim动画系统

小说:《彭博市场》评出2015年全球50大最具影响力人物作者:马戏文更新时间:2019-03-24字数:83234

“哈哈!”安德鲁巴尔特菲尔德露出了一丝兴奋之色,双手一推,像是老虎一样的机动战士巴库头部顿时吞吐出左右两边的光束军刀,借着巨大的冲击力猛然冲天而起,推进的速度一下子提升到极致。

亲爱的,没有什么比努力赚钱更让你理直气壮

这个计划,将彻底颠覆以往主播们自生自灭纯靠个人实力说话的局面,让主播也享受明星的待遇,拥有专业的服务团队。
就算面前的妖虎只是具备一丝白虎血脉而且还没有激发出来,但是也半只脚踏入了这个激发的层次,所以他也能动用庚金之力的威力。

这迈克再次向着叶扬冲了过来,双拳齐出,看样子是要真的将叶扬给砸成肉饼了啊。叶扬嘴角露出一丝淡淡的笑意,这一次并没有躲避。

Mecanim动画系统


序言:Mecanim动画系统是Unity4.0之后退出的新版动画系统,非常适合人类动画系统。本文是作为自己的学习来讲解的,

可能会有些啰嗦,但尽量把自己的坑都为大家列出来,让大家理解透彻。

 

一、文件的导入与文件类型的区别:

图1、

图2、

 

1、上图中的是两种不同的素材,图1的是没有进行动画切割的文件动画模型,而图二是已经切割了的动画模型。

通俗的来讲,就是,切割了的动画模型我们只需要直接用就行了,不用自己手动的去切割动画,

而未切割的偶的动画模型则是所有动画的集合,程序员要根据动画师提供的动画帧数据来进行手动的动画帧切割,比较繁琐。

 

二、文件导入

选中导入的模型DefaultAvatar,在Inspector面板进行模型的参数相关设置,有三个选项,分别是Model、Rig、Animations三个选项卡

 

1、Model:设置的是模型导入的参数设置,主要设置的是比例大小的设置,因为每个建模师的所用比例不同,

要根据具体情境进行大小的设置,当然可以在场景中创建一个Cube,一个Cube是1*1*!的,然后进行相对的调整即可。

 

2、Rig:主要是设置模型的动画类型,然后进行相关的正确映射。

 

(1)、选中Humanoid类型,然后设置其骨骼映射和肌肉的设置:其中实圈对应的是必须的骨骼,而虚圈不一定要正确匹配。

(2)、当匹配成功会在Scene视图中看到骨骼成了绿色了。

(3)、建议是先让系统进行自动匹配(在Mapping选项中选择Automap),然后在对不匹配的骨骼进行手动的调整,减少工作量。

(4)、在对骨骼进行配置的时候,建议将骨骼定义为T型,方便我们进行调试。

(5)、在Pose选项中,设置为Enforce T-pose,这样就可以方便我们进行调试了。

(6)、骨骼定义好了,再转到肌肉选项,一般肌肉选项这边保持系统默认的即可了。

(7)、然后选择Done完成配置。这时在其动画模型下就会出现一个以Avatar结尾的骨骼映射文件了。

 

 

3、Animation:动画设置。

 

三、模型的配置:

 

  将模型拖到Scene视图中,可以看到,在Inspector面板中可以看到自动添加了Animator属性,

此时里面缺少了动画状态机,Animator Controller,我们可以创建一个状态机,稍后对其进行配置。

 

四、动画模型的配置:

因为是一个角色,则这里将所有的动画模型采用同一种骨骼映射。

选中骨骼模型,在Inspector面板的Rig面板设置为Humanoid类型的动画,在设置其的骨骼映射为上一步生成以Avatar结尾的。

 

 

完成骨骼的配置,接下来就是对动画的帧进行控制,这个需要根据动画师提供的数据进行配置,就不详细叙述了。

 

五、状态机的配置:

(1)、在状态机中可以设置四种控制动画的过渡参数类型,bool float int trigger,可以根据需求进行设置。

(2)、将角色的动画拖入状态机中即可导入动画,其中Any State代表的是状态机中的所有动画,这个一般用来控制游戏物体的死亡,因为死亡了,则所有的动画都要进行停止了。

(3)、其他的则根据需求进行动画的设置 ,中间通过过渡条件进行状态的切换。

(4)、在状态机中,橙色的代表的是默认动画,当然可以通过自己设置默认动画。灰色代表的是普通动画。

(5)、动画如何实现需要按照需求来进行状态的过渡。可以单击过渡条件,选择什么时候进行过渡。

(6)、设置其Conditions即可,按需求设置。就可以在代码中进行控制参数来进行状态的切换了。

 

这里给大家提一个坑,当初我学的时候被整懵了

1、【设置Any State过渡到其他的状态的时候,要把Settings -->Can To Self去掉勾选,这样就不能映射到自身了,不然无法正确播放装换后的动画】

2、如果是想通过参数进行控制状态的切换而不用等动画播放完再播放的话,则需要将Has Exit Time取消勾选。

 

六、状态机设置完毕,就可以通过代码通知其动画的播放了:

 

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class Controller : MonoBehaviour
 6 {
 7 
 8     private Animator animator;
 9     // Use this for initialization
10     void Start()
11     {
12         animator = GetComponent<Animator>();
13     }
14 
15     // Update is called once per frame
16     void Update()
17     {
18         float vertical = Input.GetAxis("Vertical");
19         float horizontal = Input.GetAxis("Horizontal");
20 
21         animator.SetFloat("Speed", vertical);
22         animator.SetFloat("Angular", horizontal);
23 
24         if (Input.GetKeyDown(KeyCode.Space))
25         {
26             animator.SetBool("Dead", true);
27         }
28         //print(vertical);
29     }
30 }

 

 

 

 

 

七、重定向功能:

接下来为大家介绍下重定向功能。其实就是公用一个Animatior Controller而已,只是术语高大上,内容贼逗,哈哈哈。

 

1、使用另一个动画模型,重复以上的步骤进行骨骼的映射,动画调试等一系列设置。

2、设置新模型上的Animator Controller为上一步创建的,拖进即可,然后再关联脚本即可。

3、然后再场景中就可以通过按键进行控制两个角色的行走了。

 

八、总结:

在这里Mecanim动画系统还没结束,新手肯定会有很多错误,希望大家可以包容包容。下一篇介绍下Ik动画。总的来说,

该Mecanim方便了我们设置动画的播放状态,状态机的使用直接大大减少了工作量。

 

 

                                                                                   2017-12-17 、00:17:16

当前文章:http://zxqss.com/mxi5rsx39a/index.html

发布时间:2019-03-24 04:49:46

胤然体歌词 - 黄胤然首倡文创新理念 如何才能找到一位最适合我的心理咨询师? 压抑与节制 孤独是我们一生中无可避免的命题 女人真正想要的是什么? 你相信这超凡脱俗的爱情吗? 自卑与自欺 “张斌挺老虎伍兹引火烧身”说明了什么?

少林CEO释永信,风口浪尖之下当如何? 心理对夫妻情感与孩子养育的影响 没吃到香蕉的猴子 股市解套的几种方法--必看 为了我,婆婆要和老公断绝关系 怀孕日记——孕妇不爱听 不可小觑的幼儿园“阴影” 鸡肋般相亲男友,该不该分手? 你相信这超凡脱俗的爱情吗? 突破“离婚”或“凑合过”的婚姻困惑 卵子冷冻能否带来“静蕾效应”? 早死心 早解脱—从《琅琊榜》说开去 | 晓雅 跳在乐趣消失前 既然选择了远方,那只能风雨兼程 护肤必备手册之(一)日护理 佛家告诉你什么才是放下? 老公出轨之后我对他的恨意该如何消除呢? 遇到爱撒谎的花心男,咋办 裸露胸部就是下流吗?

编辑:王道

我要说两句: (0人参与)

发布