0
我試圖獲得一個數字,x%
在最小值和最大值之間。根據距離計算遊戲對象損壞
因此,舉例來說,如果我有以下幾點:
min = 5;
max = 10;
// `c` is a Collider type
float distance = Vector3.Distance(c.transform.position, transform.position);
float percent = distance/radius;
所以,現在我所期待的,是當object B
接近object A
的半徑的邊緣爲我的最終數目爲接近5
。當object B
更靠近object A
的中心時,我希望最後的數字更接近10
。
我有上述到目前爲止,但我不知道什麼是最終的公式是得到一個Object Damage Amount
。基本上認爲這是一個距離地雷,距離越遠,你受到的傷害就越小,越接近你受到的傷害就越多。
這似乎是一個數學問題。你需要決定它如何隨着距離而縮放。它是否線性縮放?成倍?還有別的嗎? –
現在我正在使用線性..但它會我喜歡有其他方法的想法以及.. –
float result = damage * 1/Mathf.Sqr(distance);這個基於重力的物理方程。越接近,結果就越大。 B但不是線性的,它會形成一條曲線,以便在距離越近時結果的增加越快。 – Everts