Unity3d之Mecanim(新版动画系统)

1,动画系统配置,2,代码控制动画

原文地址:http://blog.csdn.net/dingkun520wy/article/details/51247491

1,动画系统配置

创建Animator


创建游戏对象并添加Animator组件,然后将动画文件拖入组件。

Unity3d之Mecanim(新版动画系统)_第1张图片

打开Animator编辑窗口,将事先创建好的动画单元拖入窗口。

(动画单元创建详情:http://blog.csdn.net/dingkun520wy/article/details/51247487)

注意:在使用Mecanim动画系统时,动画单元(Animation)不需要进入Debug属性面板勾选Legacy属性

Unity3d之Mecanim(新版动画系统)_第2张图片

选中动画单元,将对应的动画拖入动画单元属性面板中的Motion中

Unity3d之Mecanim(新版动画系统)_第3张图片

右键单击动画单元

Unity3d之Mecanim(新版动画系统)_第4张图片

拉出白线后点击要变化的目标动画,创建动画过度。

Unity3d之Mecanim(新版动画系统)_第5张图片

同样的操作再做一条“imation”到“ation1”的过度动画。


然后创建条件参数

Unity3d之Mecanim(新版动画系统)_第6张图片

同样创建两个条件参数

创建完参数后点击过度动画白箭头,然后进行参数配置

Unity3d之Mecanim(新版动画系统)_第7张图片

将两个过度动画分别配置一个参数。

此时运行,将看到游戏对象执行ation1动画。


2,代码控制动画

实例代码

[csharp] view plain copy 在CODE上查看代码片

  1. using UnityEngine;  

  2. using System.Collections;  

  3.   

  4. public class NewBehaviourScript : MonoBehaviour {  

  5.        

  6.     Animator m_anim;  

  7.     private float scaleW = 1.0f;        //宽度缩放比  

  8.     private float scaleH = 1.0f;        //高度缩放比  

  9.     // Use this for initialization  

  10.     void Start () {  

  11.         //获取动画组件  

  12.         m_anim = GetComponent<Animator>();  

  13.   

  14.     }  

  15.       

  16.     // Update is called once per frame  

  17.     void Update () {  

  18.         scaleW = (float)Screen.width / 800;     //计算宽度缩放比  

  19.         scaleH = (float)Screen.height / 480;    //计算高度缩放比  

  20.     }  

  21.     void OnGUI()  

  22.     {  

  23.         GUI.skin.button.fontSize = (int)(25 * scaleW);        //调整按钮字体大小  

  24.   

  25.         if (GUI.Button(new Rect(70 * scaleW, 50 * scaleH, 90 * scaleW, 40 * scaleH), "ation 1"))  

  26.         {  

  27.             m_anim.ResetTrigger("New Trigger");  

  28.             m_anim.SetTrigger("New Trigger 0");  

  29.         }   

  30.         if (GUI.Button(new Rect(70 * scaleW, 110 * scaleH, 90 * scaleW, 40 * scaleH), "imation"))  

  31.         {  

  32.             m_anim.ResetTrigger("New Trigger 0");  

  33.             m_anim.SetTrigger("New Trigger");  

  34.         }  

  35.          

  36.           

  37.     }  

  38. }  


将代码添加到游戏对象,运行游戏。

Unity3d之Mecanim(新版动画系统)_第8张图片


工程源码:http://download.csdn.net/detail/dingkun520wy/9507387


你可能感兴趣的:(动画,unity)