Unity_UGUI_动画系统

Unity暂时没有单独给UGUI提供动画系统,用官方的动画系统也能做只是比较麻烦,所以我们有很多选择了。

1.修改NGUI的UITweener在用UGUI上,轻量级动画系统。

2.使用第三方插件入iTween,DoTween,HOTween等。

发现DoTween不错,就试试了。

先来看效果图:

这里用到了位置,旋转,缩放,颜色四个最主要的动画效果,暂时简单写一个例子,以便以后使用时查阅。

下载地址和详细使用说明如下。

下载地址:点击打开链接

文档地址:点击打开链接

下载之后复制到工程目录,VS引用DOTween.dll,代码引用using DG.Tweening即可。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;   

public class UIFirstAnima : MonoBehaviour
{
    private Tweener m_pos;
    private Tweener m_rota;
    private Tweener m_scale;
    private Tweener m_color;
    void Start () {
        // 全局初始化
        DOTween.Init(true, true, LogBehaviour.ErrorsOnly).SetCapacity(200, 10);
        Image image = transform.GetComponent();
        // 位置
        m_pos = image.rectTransform.DOMove(new Vector3(Screen.width * 0.5f, Screen.height * 0.5f,0), 1f);
        m_pos.SetEase(Ease.OutCubic);
        m_pos.SetLoops(10,LoopType.Yoyo);
        // 旋转
        m_rota = image.rectTransform.DORotate(new Vector3(0,180,0), 1);
        m_rota.SetEase(Ease.Linear);
        m_rota.SetLoops(10, LoopType.Yoyo);
        // 缩放
        m_scale = image.rectTransform.DOScale(new Vector3(0.6f, 0.6f, 1f), 1);
        m_scale.SetEase(Ease.Linear);
        m_scale.SetLoops(10, LoopType.Yoyo);
        // 颜色
        m_color = image.material.DOColor(new Color(0f,1f,1f, 0.7f), 1f);
        m_color.SetEase(Ease.Linear);
        m_color.SetLoops(10, LoopType.Yoyo);
        // 注册开始和结束事件
        m_pos.OnStart(AnimaStart);
        m_pos.OnComplete(AnimaEnd);
    }
    private void AnimaStart()
    {
        Debug.Log("动画开始");
    }
    private void AnimaEnd()
    {
        Debug.Log("动画结束");
    }
}  
时间: 2024-10-10 13:27:14

Unity_UGUI_动画系统的相关文章

Unity3d 4.0新动画系统Mecanim用法(二)

上一篇,我们初步了解了一下Mecanim的部分很基础的类容,我以一个疑问的形式结尾.这次我来揭晓此问题的答案,其实很简单,上次的警告如下: 4.0新动画系统Mecanim用法(二)"> 警告的大概意思是:用在Animator Controller中的Animation clips需要有在检视面板中被设置了Muscle(肌肉)的这个步骤. 我的英文很烂,但我可以知道这句话的含义,就是我们的用到的这个Animation Clip必须是已经产生了Avatar的模型中的Animation Clip

【Unity编程】Unity动画系统(一)

Unity动画系统 Unity动画系统,也称为"Mecanim",提供了以下功能: 简单的工作流程,设置动画的所有元素,包括对象,角色和属性. 支持导入外部创建的动画片段和使用内置动画编辑器制作的动画片段. 人型动画重新定位,动画角色的运动控制可以被所有的角色模型共享,即角色的外观(SkinedMesh)和运动(Animator)是分离的,它们互相组合之后形成最终的动画. 用于编辑动画状态的的简化工作流程,即动画控制器. 方便预览动画片段,以及片段之间的插值过渡. 这使得动画师可以独立

在Unity3D的Legacy动画系统中应用Root Motion

最近仔细比较了Unity3D目前版本中的两套动画系统:Legacy和Mecanim.Mecanim系统功能较之Legacy要强大很多,但是使用AnimatorController着实不方便(尽管使用AnimatorOverrideController可以避免重复编辑状态机),是因为游戏逻辑层面往往要用一个状态机或者类似的机制来控制角色的状态,而角色层面的状态逻辑和动画层面是无法一一对应的,两套复杂的状态机要配合起来...想想就觉得蛋疼啊!难怪很多朋友现在还在使用Legacy动画系统.Legacy

【腾讯GAD暑期训练营游戏程序班】游戏中的动画系统作业

游戏中的动画系统作业说明文档   一.实现一个动画状态机:至少包含3组大的状态节点 动画状态机如图所示,其中Blend Tree_Run是一个动画混合树,Blend为混合树的参数,speed为控制动作过渡的参数,共有蹲下空闲状态.走路状态.跑路状态三种状态. (1)    当speed大于0.1时,由蹲下的空闲状态转换为走路状态. (2)    当speed小于0.1时,由走路状态转换回蹲下空闲状态. (3)    当speed大于0.2且在走路状态时,可转换为动画混合树制作的跑步状态. (4)

Mecanim动画系统(三)

一.初识Blend Trees(混合树) ● 混合树 用于两个或多个类似动画的融合.如从walk到run的速度的变化,或在奔跑的时候向左.向右的倾斜角度. ● 2D Simple Directional(简单的定向): 表示在二维每个空间方向只能有一个动作 最适用于当你的动作片段代表不同方向时,如"向前行走"."向后行走"."向左行走"和"向右行走"或是"向上瞄准"."向下瞄准".&qu

从虚幻4动画系统与控制器交互理解数据驱动(一)古老的写法

游戏开发中古老的思想是认为,游戏是程序和数据来构成的,程序加载数据,并根据当前游戏的各种"状态"来调用对应的代码分支,由对应的代码分支来控制数据的使用,重要的数据之一就是动画.具体表现为,在游戏开发中对于动画会大量的使用状态机. 我们先看古老游戏的动画系统,在后面我们在讨论虚幻4的动画-- 一个古老的游戏动画库伪码大概是这样的: Class 动画数据 {     void 创建(动画数据文件路径)     void 释放()          void 播放()     void 绘制

Unity3D游戏开发之Unity3D动画与Mecanim动画系统

Unity3D游戏开发之Unity3D动画与Mecanim动画系统 欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. Mecanim是Unity新增的动画系统,其功能强大而灵活,让人类和非人类角色栩栩如生.Mecanim的重定向极大的提供了工作效率,而且占用极少CPU周期.使用从Unity资源商店找到的动画资源,或

[Unity3D]Unity4新的动画系统Mecanim

Unity4.X中添加的新的动画系统取代了原来3.X的旧的动画系统,新动画系统Mecanim也是官方推荐的,使得我们写较少的代码来实现连续的动画效果. 效果图 Unity3.X中动画系统播放动画 使用播放play()或淡入淡出播放CrossFade() 例如: animation.Play("name"); animation.CrossFade("name"); 也可以做成队列动画,然后播放,例如: animation.PlayQueued("name&

关于Unity中新版动画系统的使用

Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的Mecanim动画系统;2:Mecanim支持运动重定向(Retargeting)功能,即把动画从一个角色模型应用到另一个角色模型;3: Mecanim允许使用"肌肉"来控制不同骨骼的运动范围;觉得某个动画太夸张的时候,可以用"肌肉"来限制一下.4: Mecanim动画