1. 程式人生 > >Unity---DOTween學習(1)---Transform相關

Unity---DOTween學習(1)---Transform相關

nsf sse 指向 details strong cube local tor one

本文及系列參考於Andy老師的DOTween系列
歡迎大家關註Andy老師

介紹

在Unity Asset Store上搜索DOTween下載免費版。
Pro收費版就比免費版多了可視化功能,作用並不大。

添加引用 Using DG.Tweening;

DO開頭的方法:設置動畫的方法
Set開頭的方法:設置動畫屬性的方法
On開頭的方法:設置動畫的回調函數

Transform方法

Unity中添加一個Cube,並掛載這個腳本

Position

transform.DOMove(Vector3.one, 2);  //1.要移動的目標位置,2.移動的時間s
transform.DOMoveX(1, 2);  //只控制X軸方向上的移動
transform.DOLocalMove();  //改變局部坐標

Rotate

transform.DORotate(new Vector3(0,90,0), 2);  //旋轉
transform.DOLocalRotate();  
transform.DORotateQuaternion(new Quaternion(0.1f, 0.1f, 0.1f, 0.1f), 2);   //四元數旋轉
transform.DOLookAt(Vector3.one, 2); //Z軸正方向指向目標

Scale

transform.DOScale(Vector3.one * 2, 2);  //旋轉
transform.DOScaleX(3, 2);  //X軸旋轉

Punch:類似彈跳功能

//參數1.punch 運動的方向和力的大小   
//參數2.duration 持續時間
//參數3.vibrato 震動的次數
//參數4.elascity 0-1的數,越大往反方向運動越多
transform.DOPunchPosition(new Vector3(0, 1, 0), 2, 5, 0.5f);
transform.DOPunchRotation();
transform.DOPunchScale();

Shake:左右亂震的效果

//參數1.持續時間   
//參數2.方向的力大小   
//參數3.震動次數   
//參數4.震動角度範圍   
//參數5.是否淡入淡出
transform.DOShakePosition(2, Vector3.one, 10, 90);
transform.DOShakeRotation();
transform.DOShakeScale();

Blend:混合動畫

//普通情況
transform.DOMove(Vector3.one, 2);
transform.DOMove(Vector3.one*2, 2);
//第二個會覆蓋第一個方法,物體運動到2,2,2


//Blend 混合
//DOBlendableMoveBy方法有兩個特點
//1.允許多個同時執行
transform.DOBlendableMoveBy(new Vector3(1, 1, 1), 1);
transform.DOBlendableMoveBy(new Vector3(-1, 0, 0), 1);
//假設其實點為(0,0,0),最後動畫停止時的坐標就是(0,1,1)

//2.它是增量動畫
transform.DOBlendableMoveBy(new Vector3(1, 1, 1), 1);
//假設其實點為(1,1,1),最後動畫停止時的坐標就是(2,2,2),它的參數不是目標點,而是要移動的量

Unity---DOTween學習(1)---Transform相關