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");
- }
- }
- }
将代码添加到游戏对象,运行游戏。