float curpos = player.transform.position.magnitude;
float targetpos=GameObject.Find ("target").transform.position.magnitude;
float percentDist = (curCarpos / targetpos) * 100;
我想要做的是计算从当前点开始一直移动到终点的路上的百分比,从零开始,一旦到达它应该是100.
出于某种原因,它从14%开始下降到0%,然后从0%-99%开始。
答案 0 :(得分:0)
我认为你应该得到你的起始位置,以获得行进路径的百分比。
float percentDist = ((curCarpos - startingPos) / (targetpos - startingPos)) * 100;
当你开始计算行进方式的百分比时,得到起始位置的浮点数,之后不要更新此变量。
答案 1 :(得分:0)
你做错了。在这种情况下,矢量幅度是无用的。你需要这样的东西:
在所有动作之前调用它。
float startDistance = Vector3.Distance(player.transform.position, target.transform.position);
这在运动中。
float currentDistance = Vector3.Distance(player.transform.position, target.transform.position);
float percentage =(currentDistance / startDistance) * 100f;