我对DoPath在航点之间的速度有疑问。我想要始终保持恒定的速度,但是我无法实现。但是速度在航点之间变化。
我无法找到解决问题的方法。
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
我要始终保持恒定的速度。
答案 0 :(得分:0)
看起来只需要补间的时间即可。
您可能必须使用通用方式:DOTween.To(...)
。
获取当前点之间的距离,然后除以您的移动速度。
答案 1 :(得分:0)
我解决了问题,DoPath函数没有错。这是关于我的媒介。我的游戏是2D,但是向量的Z值非常高。因此,导弹在2D中看起来非常快。我将Z值从和更改为已解决的值。感谢@Demigiant的帮助。