赞
踩
前言:
随缘翻译,内容为自己根据效果理解所描述,如有错漏之处,敬请指正。
补间,一般指补间动画,例如unity的Animation窗口,插入两个图片或者对一个物体做变换时,unity会根据两个状态之间的帧,创建相应的动画,这就是补间。
1、在资源商店下载并安装DOTween:DOTween
在PackageManager导入到要使用的项目中。
安装完成后点击 Setup DOTween 会自动根据unity的版本导入/重新导入内部的一些文件,激活或者停用一些模块。
如果不小心关闭或者关闭了想再次打开,你可以在unity的工具栏的Tools/Demigiant/DOTween Utility Panel 打开该面板。
2、在使用DOTween需引入对应的命名空间:
using DG.Tweening;
3、初始化DOTween,设置一些全局设置。
如果在每次创建DOTween脚本时不调用该方法进行初始化,DOTween也会根据默认的设置自动进行初始化设置 ,如果进行初始化必须在每次使用前调用该方法,否则不会有任何、效果。默认的设定可以在初始面板中的首选项(Preferences)中更改。
DOTween.Init();
参数 | 功能 |
---|---|
recycleAllByDefault | bool类型,如果为true,所有的 动画补间将会在调用完后被回收放入一个对象池中,而不是直接被销毁。 |
useSafeMode | bool类型,如果为true,补间会变慢,但是会更加安全,允许补间照顾一些东西,当一个物体被销毁时,补间仍然执行。 |
logBehaviour | 据所选模式,DOTween 将只记录错误(ErrorsOnly)或者错误和警告(Default),或所有内容以及其他信息(Verbose) |
transform.DOMove(new Vector3(10, 0, 0), 10, false); 作用:移动到某一指定点。(世界坐标) 参数: Vector3 to 要移动到的位置 float duration 所需要花费的时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false transform.DOMoveX()/DOMoveY()/DOMoveZ(10, 10f,false); 作用:沿着某一轴移动到指定位置。 参数: float to 要移动到的轴的坐标 float duration 所需要花费的时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false transform.DOLocalMove(new Vector3(10,0.5f,0),10f,false); 作用:移动自身坐标到指定位置。 参数: Vector3 to 要移动到的位置 float duration 所需要花费的时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false transform.DOLocalMoveX()/DOLocalMoveY()/DOLocalMoveZ(); 作用:移动自身坐标到指定轴的指定位置。 参数: float to 要移动到的轴的坐标 float duration 所需要花费的时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false transform.DOJump(new Vector3(10, 0, 0),10,3,10,false); 作用:实现跳跃到指定位置。 参数: Vector3 endValue 最终要跳跃到的位置 float jumpPower 跳跃的强度,决定跳跃的高度(当前位置Y加上该值) int numJumps 跳跃的次数 float duration 总持续时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false transform.DOLocalJump(new Vector3(10, 0, 0),10,3,10,false); 作用:实现跳跃到指定位置(自身坐标)。 参数: Vector3 endValue 最终要跳跃到的位置 float jumpPower 跳跃的强度,决定跳跃的高度(当前位置Y加上该值) int numJumps 跳跃的次数 float duration 总持续时间 bool snapping 为true时平滑地将所有值变为整数。(每次移动整数值)默认为false
transform.DORotate(Rote, 0.1f, RotateMode.Fast); 作用:旋转到指定的值(根据欧拉角)。 参数: Vector3 to 旋转目标值 float duration 总旋转用时 RotateMode Fast 旋转采用最短路线,切旋转不会超过360° FastBeyond360 旋转将超过360° WorldAxisAdd 类似于使用transform.Rotate(new Vector3(20, 0, 0),Space.World),最终值始终被视为相对值 LocalAxisAdd 类似于使用transform.Rotate(new Vector3(20, 0, 0),Space.Self),最终值始终被视为相对值 transform.DORotateQuaternion(); 作用:旋转到指定的值(四元数)。 参数: Quaternion to 要旋转到的四元数值 float duration 旋转用时 transform.DOLocalRotate(); 作用:自身坐标旋转。 transform.DOLocalRotateQuaternion(); 作用:自身坐标旋转。 transform.DOLookAt(); 作用:旋转目标,使其朝向给定位置。 参数: Vector3 towards 旋转目标值 float duration 旋转总用时 AxisConstraint axisConstraint 旋转最终轴约束,只旋转此轴 Vector3 up 定义向上方向的矢量 transform.DODynamicLookAt(); 作用:旋转目标,使其朝向给定位置,每帧更新 lookAt 位置(与此相反,当补间开始时,只计算一次 lookAt 旋转) 参数: Vector3 towards 旋转目标值 float duration 旋转总用时 AxisConstraint axisConstraint 旋转最终轴约束,只旋转此轴 Vector3 up 定义向上方向的矢量
DOScale();
作用:将物体放大/缩小到指定大小
参数:
float/Vector3 to 浮点数为倍数,向量为指定大小
float duration 放大/缩小总消耗时间
DOScaleX/DOScaleY/DOScaleZ();
作用:对某一轴方向进行放大缩小
float to 放大到的倍数
float duration 放大/缩小总消耗时间
DOPunchPosition(); 作用:受到冲击后的回弹效果 参数: Vector3 punch 要被击打到的最远位置(相对值,相对于局部坐标) float duration 总持续时间 int vibrato 物体振动频率 float elasticity 值一般在0到1之间,0表示起点到冲击方向的震荡,1表示为一个完整的震荡,可能会超过起点,个人感觉后者效果更好。 bool snapping 是否进行平滑插值 DOPunchRotation() 作用:受到冲击后旋转效果 参数: Vector3 punch 要被击打到的角度(相对值,相对于局部坐标) float duration 总持续时间 int vibrato 物体旋转频率 float elasticity 值一般在0到1之间,0表示最初角度到最大角度的旋转,1表示为一个完整的旋转,可能会超过最远角度。 DOPunchScale() 作用:实现一个弹性效果,反复弹,最终复原。 参数 Vector3 punch 弹到的大小 float duration 总持续时间 int vibrato 物体放缩频率 float elasticity 值一般在0到1之间,0表示最初角度到目标大小的放缩,1会产生负值,出现警告。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。