磁场统一

时间:2014-12-26 14:17:37

标签: unity3d game-physics

我一直试图制作一种将AddForce设置为它的磁场。我在某个地方找到了这段代码:

 else if(collider.tag == "magnet")
     {
         float radius = collider.GetComponent<CircleCollider2D>().radius;
             Vector3 magnetField = collider.transform.position- transform.position;
             float index = (radius - magnetField.magnitude) / radius;
             rigidbody2D.AddForce( -4 * force * magnetField * index);
     }

确实确实向场地设置了力量,但在它发生之前,如果我的角色的速度很小,它会在相反的方向上设置力。当然,在代码之外还有OnTriggerStay2D。谁能告诉我发生了什么?

先谢谢

1 个答案:

答案 0 :(得分:0)

问题的来源,假设“力”是表示磁体吸引​​该物体的强度的正值,是AddForce方法中的-4。 MagnetField是一个从带有脚本的对象指向磁体的向量,它是对象应该移动的方向,因此不需要否定它。