Mecanim动画系统(一)

Unity的动画系统由以下几部分组成:Animator(动画编辑器)、Animator Controller(动画控制器)、Animation(动画片段)、Avatar(骨骼模型)

他们之间关系如下图:(注:“Animator Controller”在“Animator”中进行编辑,可以创建多个“Animator Controller”;)

一、Animator(动画编辑器)

 

参数介绍:

1、Layers:动画层。

2、Parameters:参数类型。是动画片段触发的条件

3、Any State:可在任意动画状态下转入连接Any State的动画。

  因为Any State在任意状态下都可以转入,所以条件应设为一次性触发。应该注意的是,如果触发条件一直为真。那么动画将没有播完就会重新开始播放。此时可以将动画改为其他动画转入,并将触发条件改为 bool 值,可以避免动画没播完就重新开始播放的情况。

4、Exit:动画出口。该出口指向Entry

5、Entry:动画入口。连接该动画层的默认动画

Add Behaviour 的简单应用:

  

  在 Animator 中选中动画事件,可以在“Add Behaviour”中添加脚本增加动画的灵活性。脚本自动继承 “StateMachineBehaviour”,

可以使用回调函数:OnStateEnter();OnStateUpdate();OnStateMove();OnStateIK()

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class testBehaviour : StateMachineBehaviour {

    public GameObject goPrefabObj;                          //粒子系统预设(爆炸)
    private GameObject _goPrefabObj;                        //克隆变量

    // OnStateEnter
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        //生成粒子系统
        _goPrefabObj = Instantiate(goPrefabObj, animator.rootPosition, Quaternion.identity);
    }
    // OnStateExit :离开当前状态时调用
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        Destroy(_goPrefabObj);
    }
}

 

 

 

二、Animator Controller(动画控制器)

  “Animator Controller”可以在Project视图上创建,或者直接拖拽动画片段到 Animator 编辑器中(“Animator Controller”将会自动创建)。该动画控制器将在角色模型的Animator组件上添加应用。

三、Animation(动画片段)

1、Unity创建动画:

  在hierarchy层级视图中选中需要创建动画的游戏对象,在Animation窗口点击Create即可创建一个动画片段,同时将会生成一个“Animator Controller”控制器。在Unity中只能创建一些简单的动画,常用于摄像机的漫游动画。较复杂的动画需要在3Dmax、Maya等三维软件中制作完成以后再导入。

2、导入动画:

  

● Import Animation:从该模型资源中导入动画。如果不勾选该模型则不会出现图片中的属性及动画。

● Loop time:动画循环

  Loop pose:无缝运动

● Root Transform Rotation:

  Bake Into Pose:消除动画播放本身产生的旋转

  Based Upon: Transform 是(基于Original:原件,使用在文件中预设好的值;Feet:表示基准点使用第一帧的脚;Center of Mass:重心等)旋转或发生位移等。

其他Transform Position(···)依次类推。

● Mirror:镜像。即将动画左右互换。

● Curves:曲线(动画)

● Events:事件

● Mask:遮罩

● Motion:动作

四、Avatar(骨骼模型)

  

 

● Mapping:映射骨骼模型

● Muscle&Settings:肌肉设置

 

posted @ 2017-03-21 21:07  LiuChangwei  阅读(4460)  评论(0编辑  收藏  举报