Unity---DOTween學習(1)---Transform相關
阿新 • • 發佈:2019-05-14
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相關