我正在嘗試創建一個進度條,顯示玩家在 3D 區域中距離終點有多近,但我不知道如何讓它朝著正確的方向前進而不是倒退。
startNEnd = Vector3.Distance(start.transform.position, GameObject.Find("GoalPrefab(Clone)").transform.position);
playerNEnd = Vector3.Distance(player.transform.position, GameObject.Find("GoalPrefab(Clone)").transform.position);
progressBar.transform.localScale = new Vector3(playerNEnd/startNEnd, 1, 1);
(X 軸心點設定為 0)
我怎樣才能讓它走向正確的方向?
uj5u.com熱心網友回復:
您可以通過從 1 中減去該值來反轉該值。
var progress = 1 - (playerNEnd / startNEnd);
這適用于限制在 0 和 1 之間的值。
1 - 0.75 = 0.25
1 - 0.50 = 0.50
1 - 0.25 = 0.75
uj5u.com熱心網友回復:
您可以嘗試線性插值以更好地控制值。
float progress = Mathf.Lerp(1f, 0f, playerNEnd / startNEnd);
progressBar.transform.localScale = new Vector3(progress, 1, 1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/484715.html
下一篇:播放影片5次