unity中的動畫製做方法

Unity中的動畫製做方法

一、DOTween

DoTween在5.0版本中已經用到了,到官網下載好插件以後,而後經過在項目中導入頭using DG.Tweening;便可。php

一些經常使用的API函數

DOMove(this Transform target, Vector3 endValue, float duration, bool snapping = false);

該函數主要是用來移動選中的對象的,endValue表示須要移到的座標,duration爲持續的時間。api

ScaleTo(GameObject target, Vector3 scale, float time)

該函數表示縮放的比例,sacle對應該對象的scale屬性,在對應放大或者縮小的時候能夠看到該屬性的變換。app

DOShakePosition(this Transform target, float duration, float strength = 1f, int vibrato = 10, float randomness = 90f, bool snapping = false)

哈哈,這個函數有點意思,能夠作到震屏的效果,項目中的道具要作特效能夠用它來作,達到顫動的效果。dom

其餘一些好玩的有意思的函數能夠去官方網站查看,網址http://dotween.demigiant.com/documentation.php函數

二、ITween

一些經常使用的API函數

現有項目中用的就是ITween來實現一些遊戲特效的,較爲經常使用的API函數
有:動畫

MoveTo(GameObject target, Vector3 position, float time)
MoveTo(GameObject target, Hashtable args)

其中hashtable表示一連串的數據信息,對應鍵/值的值。網站

其官方網址:http://www.itween.pixelplacement.com/documentation.php好像一直在更新。貌似ITween的更加完善一點。this

項目中一些小應用

在打開遊戲面板的時候須要有放大而後進行縮小的同步操做,採用Dotween的序列動畫來作,其代碼以下:插件

Sequence mySequence = DOTween.Sequence();
    Tweener move1 = this.transform.DOLocalMove(new Vector3(160, -13, 0), 1f, false);
    Tweener scale1 = this.transform.DOScale(0, 2f).OnComplete(() => this.gameObject.SetActive(false));
    mySequence.Append(move1);
    mySequence.Join(scale1);

效果是實現了,不過感受還有點卡頓,有待進一步改進。code

相關文章
相關標籤/搜索