您的位置:首页 > 移动开发 > Unity3D

Unity3d之Mecanim(新版动画系统)

2016-04-30 21:18 537 查看
1,动画系统配置,2,代码控制动画

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

1,动画系统配置

创建Animator



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



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

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

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



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



右键单击动画单元



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



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

然后创建条件参数



同样创建两个条件参数

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



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

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

2,代码控制动画

实例代码

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

Animator m_anim;
private float scaleW = 1.0f;        //宽度缩放比
private float scaleH = 1.0f;        //高度缩放比
// Use this for initialization
void Start () {
//获取动画组件
m_anim = GetComponent<Animator>();

}

// Update is called once per frame
void Update () {
scaleW = (float)Screen.width / 800;     //计算宽度缩放比
scaleH = (float)Screen.height / 480;    //计算高度缩放比
}
void OnGUI()
{
GUI.skin.button.fontSize = (int)(25 * scaleW);        //调整按钮字体大小

if (GUI.Button(new Rect(70 * scaleW, 50 * scaleH, 90 * scaleW, 40 * scaleH), "ation 1"))
{
m_anim.ResetTrigger("New Trigger");
m_anim.SetTrigger("New Trigger 0");
}
if (GUI.Button(new Rect(70 * scaleW, 110 * scaleH, 90 * scaleW, 40 * scaleH), "imation"))
{
m_anim.ResetTrigger("New Trigger 0");
m_anim.SetTrigger("New Trigger");
}

}
}

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



工程源码:http://download.csdn.net/detail/dingkun520wy/9507387
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息