DoTween DoPath 的速度在 waypoints 之间
DoTween DoPath's speed between waypoints
我对 DoPath 在 waypoints 之间的速度有疑问。我想要从头到尾保持恒定速度,但我无法实现。但速度在 waypoints.
之间变化
我找不到解决问题的方法。
Vector3 firstPoint = from+new Vector3(5f,5f,0);
pathList.Add(from);
pathList.Add(firstPoint);
pathList.Add(to);
Vector3[] pathArr = pathList.ToArray();
GameObject trail = Instantiate(config.fireWork, from, Quaternion.identity);
trail.transform.DOPath(pathArr,3,PathType.CatmullRom,PathMode.TopDown2D).SetEase(Ease.Linear).SetLookAt(0.01f).SetDelay(1f);
https://gfycat.com/highunknowngentoopenguin
我想要从头到尾保持恒定速度。
看起来它只需要补间的持续时间。
您可能必须使用通用方式:DOTween.To(...)
。
获取当前点之间的距离并除以你的移动速度。
问题解决了,DoPath函数没有问题。这是关于我的从和到向量。我的游戏是 2D 的,但矢量具有非常高的 Z 值。所以导弹在 2D 中看起来非常快。我更改了 from 和 to 的 Z 值问题解决了。感谢@Demigiant 的帮助。
如果你输入 .SetSpeedBased(true)
持续时间将表示补间动画移动的单位数 x 秒。
P.S。
您还可以设置 .SetLoops(-1)
执行将在路径上循环。
我对 DoPath 在 waypoints 之间的速度有疑问。我想要从头到尾保持恒定速度,但我无法实现。但速度在 waypoints.
之间变化我找不到解决问题的方法。
Vector3 firstPoint = from+new Vector3(5f,5f,0);
pathList.Add(from);
pathList.Add(firstPoint);
pathList.Add(to);
Vector3[] pathArr = pathList.ToArray();
GameObject trail = Instantiate(config.fireWork, from, Quaternion.identity);
trail.transform.DOPath(pathArr,3,PathType.CatmullRom,PathMode.TopDown2D).SetEase(Ease.Linear).SetLookAt(0.01f).SetDelay(1f);
https://gfycat.com/highunknowngentoopenguin
我想要从头到尾保持恒定速度。
看起来它只需要补间的持续时间。
您可能必须使用通用方式:DOTween.To(...)
。
获取当前点之间的距离并除以你的移动速度。
问题解决了,DoPath函数没有问题。这是关于我的从和到向量。我的游戏是 2D 的,但矢量具有非常高的 Z 值。所以导弹在 2D 中看起来非常快。我更改了 from 和 to 的 Z 值问题解决了。感谢@Demigiant 的帮助。
如果你输入 .SetSpeedBased(true)
持续时间将表示补间动画移动的单位数 x 秒。
P.S。
您还可以设置 .SetLoops(-1)
执行将在路径上循环。