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