- 查看曲线效果网站
曲线展示网站 - 曲线纵表示距离的倍数,横轴是时间比例,曲线设置key点击free,可以单独分出来
- 部分源码注释
public class DoTweenTest : MonoBehaviour
{
public Gradient _gradient;
public AnimationCurve animationCurve;
Tweener _tweener;
//async void Start()
void Start()
{
//弹球效果(1.方向力的大小 2.持续时间 3.频率 4.0~1的值 如果为0 位置不低于0 越大向下幅度越大)
//transform.DOPunchPosition(new Vector3(0, 1, 0), 2, 10, 0.5f);
//乱震动效果(1.持续时间 2.方向力的大小 3.频率 4.角度)
//transform.DOShakePosition(2, Vector3.one, 10, 90);
//blend混合
//transform.DOBlendableMoveBy(Vector3.one, 2f);
//_Color不是这个就是_TintC0olor
// material.DoFade(0,"_TintColor",2f);
//自定义渐变
//material.DOGradientColor(_gradient,"_TintColor",2f);
//material其他
//material.DoVector(),material.DoOffset();material.DoBlendableColor();
//(1.宽高比改变)
//Camera camera = Camera.main;
//camera.DOAspect(0.5f, 2f);
//camera.DOColor(Color.red, 2f);
//camera.DONearClipPlane(1f,1f);
//camera.DOFieldOfView(1, 5f);
//camera.DOOrthoSize();
//分屏效果
//camera.DOPixelRect(new Rect(360, 540, 360, 540), 2f);
//参数百分比呢
//camera.DORect()
//相机幌动
//camera.DOShakePosition(2, 10, 10);
//均速打字机效果
//Text text = GetComponent<Text>();
//text.DOText("sssskkkkkk", 5).SetEase(Ease.Linear);
//Sequence quence = DOTween.Sequence();
//quence.Append(transform.DOMove(Vector3.one, 2f));
////和插入差不多
//quence.Join(t);
////和插入差不多
//quence.AppendCallback();
////暂停一秒很关键啊
//quence.AppendInterval(1f);
//quence.Append(transform.DOMove(new Vector3(1, 0, 0), 2));
//quence.Insert(0, transform.DOMove(-Vector3.one, 2f));
////停一秒
//quence.PrependInterval(1f);
////预添加方法多用法,说白了和队列相反,后添加先执行
//quence.Prepend();
//quence.PrependCallback();
//quence.InsertCallback(3f, () => { });
//LoopType.Incremental 增量一直跑
//LoopType.Restart 重新开始
//杀死它,让它停下,如果为true
//transform.DOMove(Vector3.one, 2f).SetLoops(-1, LoopType.Yoyo).SetAutoKill(true);
//transform.DOKill();
//form方法,从目标点回起始点,ture是相对的,vector3.one那么就是力,而不是位置了
//transform.DOMove(Vector3.one, 2f).SetLoops(1, LoopType.Yoyo).From(true);
//TweenParams para = new TweenParams();
//transform.DOMove(Vector3.one, 2).SetAs(para);
//延时
//transform.DOMove(Vector3.one, 2).SetDelay(3f);
//以速度为基准的运动,(2.表示的每秒0.1米)
//transform.DOMove(Vector3.one, 0.1f).SetSpeedBased();
//设置ID,减少性能
//transform.DOMove(Vector3.one, 10).SetId("ID");
//DOTween.Play("ID");
//transform.DOMove(Vector3.one, 10).SetRecyclable(true);
//设置相对,表示增量运动
//transform.DOMove(Vector3.one, 2).SetRelative(true);
//设置真函数,true是否忽略时间缩放
//transform.DOMove(Vector3.one, 2).SetUpdate(UpdateType.Normal, true);
//设置动画曲线(2. 多少次 3.-1和1之间 >0活动范围变小 =0不会衰竭 <0活动范围逐渐大,设置受伤颜色可行吗
//transform.DOMove(Vector3.one, 2).SetEase(Ease.Flash,8,-1);
//设置自定义曲线呢
//transform.DOMove(Vector3.one, 2).SetEase(animationCurve);
//transform.DOMove(Vector3.one, 2).SetEase(EaseFun);
//回调函数 OnPlay OnKill OnStart OnStepComplete循环一次的时候 OnUpdate OnRewind(restart rewomd dpflip dpbackwards)
//倒播放
//transform.DOMove(Vector3.one * 2, 2f);
////await Task.Delay(TimeSpan.FromSeconds(1));
////一瞬间回去
//transform.DORewind();
////平滑倒倒退
//transform.DOSmoothRewind();
////杀死
//transform.DOKill();
////反转补间动画,反转起始和目标点
//transform.DOFlip();
////跳到动画1秒后还播放吗
//transform.DOGoto(1, true);
////反向播放动画
//transform.DOPlayBackwards();
//transform.DOPlayForward();
////暂停或者播放?根据情况来
//transform.DOTogglePause();
//获取数据
//var list = DOTween.PlayingTweens();
//2.true,收集当前播放的动画
//var list = DOTween.TweensById("ID", true);
//var list = DOTween.TweensByTarget(transform, true);
// 2 true在播放状态
//var list = DOTween.IsTweening("id",true);
//var list = DOTween.TotalPlayingTweens();
//当前的执行时间
//var tweener = transform.DOMove(Vector3.one * 2, 2);
//tweener.fullPosition = 0f;
//print(tweener.fullPosition);
//动画循环的次数
//tweener.CompletedLoops();
//获取延迟时间?
//tweener.Delay();
//持续时间,false不包含循环
//tweener.Duration();
//当前已经播放的时间
//tweener.Elapsed();
//距离进度的百分比
//tweener.ElapsedDirectionalPercentage();
//false不包含循环,true返回的总里程的百分
//tweener.ElapsedPercentage();
//tweener其他etc
//tweener.IsBackwards
//和携程使用
}
private IEnumerator Wait()
{
//yield return _tweener.WaitforCompletion();
//执行玩2次之后
//yield return _tweener.WaitForElapsedLoops(2);
//等等动画执行几秒后执行
//yield return _tweener.WaitForPosition();
//yield return _tweener.WaitForRewind();
//yield return _tweener.WaitForStart();
return null;
}
//自定义函数曲线呢
private float EaseFun(float time, float duration, float overshootOrAmplitude, float period)
{
return 0.3f;
}
}
- 路径动画相关源码(待补充)