【发布时间】:2021-11-18 01:12:59
【问题描述】:
我正在做一些精灵缩放,并且有一个精灵从 x+y 轴上的 0.2 比例开始,它在起点和终点之间以恒定速度 (10) 行进,随着行进的比例增加。
我需要它在该距离上均匀缩放,以便当它到达终点时,它处于最终比例 (0.2 - 1)。
现在,因为距离会根据产生的位置而变化,因此缩放大小所需的时间也必须发生变化,以便它可以在整个距离上均匀缩放,我需要的是计算出基于“缩放速度”的计算关于它正在移动的距离和项目移动的速度。
我用 Vector3.Distance 得到两点之间的距离
distance = Vector2.Distance(transform.position, centerScreen);
这会随着时间的推移缩放对象
if (transform.localScale.x < 1 && transform.localScale.y < 1)
{
transform.localScale = new Vector3(transform.localScale.x + scaleSpeed * Time.deltaTime, transform.localScale.y + scaleSpeed * Time.deltaTime, 1);
}
物体以 10 的速度移动
我的问题是,如何根据物体行进的距离和速度来计算缩放速度?
【问题讨论】:
-
那么你的问题是什么,你已经尝试了什么?你的代码在哪里?你有一些错误?这应该很容易使用 Vector3.Distance docs.unity3d.com/ScriptReference/Vector3.Distance.html
标签: c# unity3d math game-development