unity用力移动物体到某点

以下代码为通过使用力移动到某点并稳定刚体的代码,
我发现网上并没有这类代码,所以自己琢磨出了这段代码(待完善。。。)

    Rigidbody2D rg;
    // Use this for initialization
    void Start () {
        rg = gameObject.GetComponent();
        
    }

    // Update is called once per frame
    private void FixedUpdate() {

        if (transform.position.magnitude < 1 && rg.velocity.magnitude < 1) {
            //rg.AddForce(Vector2.zero - (Vector2)transform.position / 4000);
            Debug.Log(rg.velocity.magnitude);
        } else {
            rg.AddForce(Vector2.zero - (Vector2)transform.position * 4);
        }
        float z = transform.rotation.z ;
        if (Mathf.Abs(z) > 0.01f) {
            if (z > 0) {
                rg.AddTorque(-1f);
            } else if (z < 0) {
                rg.AddTorque(1f);
                
            }
        }
        if (rg.IsSleeping()) Debug.Log("睡着啦");

    }

你可能感兴趣的:(unity用力移动物体到某点)