一个 Sphere Collider 挂在星球上,它比星球大 2 倍,当物体进入 trigger 时,它的 Rigidbody 被添加到 List objs 中,之后在 FixedUpdate 中,给物体一个方向的力行星,当物体更接近行星时可以这样做,那么力会增加吗?
public Transform planetTransform;
List<Rigidbody> objs = new List<Rigidbody>();
void FixedUpdate()
{
foreach (Rigidbody r in objs)
{
r.AddForce((planetTransform.position - r.position) * 2000f * Time.fixedDeltaTime);
}
}
void OnTriggerEnter(Collider other)
{
objs.Add(other.GetComponent<Rigidbody>());
}
根据万有引力定律
F(сила притяжения)=G(гравитационная постоянная)*m1(масса первого тела)*m2(масса второго тела)/r^2这里主要是除以 r ^ 2,即除以物体之间距离的平方。这就是为什么当我们彼此靠近时,力呈二次方增加。因此,只需除以距离的平方,例如:
好吧,您将不得不使用系数,因为常数 2000f 的分离显然是不够的。