Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
二维人造重力统一(C#)_C#_Unity3d_Gravity - Fatal编程技术网

二维人造重力统一(C#)

二维人造重力统一(C#),c#,unity3d,gravity,C#,Unity3d,Gravity,我在做一个使用二维重力的项目。设置在你发射射弹的空间,如果它们离行星足够近,行星的重力会吸引射弹。发射时,弹丸使用对撞机和施加在刚体上的力 我发现的这张图片很好地解释了这一点: 我有一些代码可以工作,但并不完美。这有点奇怪,似乎有些部分比其他部分更难吸引炮弹。有些时候,当我把射弹射过物体时,它没有被物体吸引,而是突然加速飞过。代码如下: public class Gravity : MonoBehaviour{ public GameObject planet; public float m

我在做一个使用二维重力的项目。设置在你发射射弹的空间,如果它们离行星足够近,行星的重力会吸引射弹。发射时,弹丸使用对撞机和施加在刚体上的力

我发现的这张图片很好地解释了这一点:

我有一些代码可以工作,但并不完美。这有点奇怪,似乎有些部分比其他部分更难吸引炮弹。有些时候,当我把射弹射过物体时,它没有被物体吸引,而是突然加速飞过。代码如下:

public class Gravity : MonoBehaviour{

public GameObject planet;
public float maxGravity;
public float maxGravityDist;
public Vector3 force;

public Rigidbody2D rb;

void Update(){
    
    float dist = Vector2.Distance(planet.transform.position, transform.position);
    Vector3 v = planet.transform.position - transform.position;

    force = v.normalized * (1.0f - dist / maxGravityDist) * maxGravity;
    rb.AddForce(v.normalized * (1.0f - dist / maxGravityDist) * maxGravity);
}
}

你的问题不是很清楚吗?我想在我的游戏中加入重力机制,如图所示。我已有的代码在一定程度上做到了这一点,但并不完美。我只是想知道我是否需要对代码进行一些修改,或者是否有更好的方法来实现这一点。N-body算法?你的问题还不完全清楚?我想把这个重力机制添加到我的游戏中,如图所示。我已有的代码在一定程度上做到了这一点,但并不完美。我只是想知道我是否需要对代码进行一些修改,或者是否有更好的方法来实现这一点。N-body算法?