前言: Unity 實際開發中,經常會有需要實現動畫的效果,有時候通過腳本實現動畫,或許能更省內存消耗。這裏舉幾個簡單例子,說明一下。當然還有更多的效果,就需要自己去摸索了~ ( ̄▽ ̄)~*
前提需要先安裝插件:DoTween.
下載地址:http://dotween.demigiant.com/ (網址要翻牆,不然打不開)
(雨鬆大神下載:http://pan.baidu.com/s/1o6qiefC)
命名空間引用: using DG.Tweening; // 不能缺少!!!
腳本示例(C#):
GameObject test;
// 通過 改變物體的 縮放大小,實現縮放動畫
DOTween.To(() => { return new Vector3(0.7f, 0.7f, 0); }, v => test.transform.localScale = v, new Vector3(1.5f, 1.5f, 1), 1f).SetEase(Ease.OutBack);
通過改變物體位置 實現 移動動畫
// 通過改變物體位置 實現 移動動畫
DOTween.To(() => { return new Vector3(0, -69, 0); }, v => test.transform.localPosition = v, new Vector3(0, -263, 0), 1f).SetEase(Ease.Flash);
注:可以改變 X值(左右移動) Y值(上下移動)
// 引用 精靈的 SkeletonGraphic 組件
SkeletonGraphic sg = spirit.transform.FindChild("SkeletonGraphic").GetComponent<SkeletonGraphic>();
Material m_spirit = sg.material;
spirit.transform.SetSiblingIndex(0);
// 通過 改變顏色透明度 實現 該物體的漸隱漸現的效果
DOTween.ToAlpha(() => { return new Color(1, 1, 1, 0); }, v => m_spirit.SetColor("_Color", v), 1, 1f).SetEase(Ease.Flash);
Ease:動畫緩動類型(linear(線性的);OutQuad(前快後慢)…
Ease Overshot:後偏移緩動值
Ease Period:前偏移緩動值
緩動函數參考:http://easings.net/zh-cn