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,我正在使用unity并试图计算2D对象的重力。我是否能够根据某物在世界或空间中的位置来改变其重力,或者重力对整个世界是否保持不变 也就是说,如果我有一个物体在零度的特定重力下,当物体达到1000米时,重力就会改变 只是一个很快的回答 了解Physics2D.gravity。在场景中放置一些对象(球,无论什么),然后让场景运行,注意它们掉落。尝试改变重力,注意加速度是不同的 在继续执行步骤2之前,掌握所有这些 现在是坏消息 正如你所看到的,统一中的“普通引力”非常容易。不幸的是,如果你想在不同的物

我正在使用unity并试图计算2D对象的重力。我是否能够根据某物在世界或空间中的位置来改变其重力,或者重力对整个世界是否保持不变

也就是说,如果我有一个物体在零度的特定重力下,当物体达到1000米时,重力就会改变

只是一个很快的回答

  • 了解Physics2D.gravity。在场景中放置一些对象(球,无论什么),然后让场景运行,注意它们掉落。尝试改变重力,注意加速度是不同的
  • 在继续执行步骤2之前,掌握所有这些

    现在是坏消息

    正如你所看到的,统一中的“普通引力”非常容易。不幸的是,如果你想在不同的物体上进行单独的重力测量,这是非常先进的

  • 基本上关闭(1)中的“整体重力”,Unity可以让你轻松获得自由。然后,您必须手动将重力添加到每个对象(您希望它打开!)
  • 基本上你是这样做的

    public float gravity;
      void FixedUpdate () {
        rigidbody2D.AddForce(Vector3.down * 9 * rigidbody2D.mass);
    }
    
    不幸的是,关于跑步循环、物理(即真实世界的物理!)、游戏对象、刚体和一般的C#,你还有很多东西要学

    在继续执行步骤3之前,掌握所有这些

  • 最后,您希望重力随高度变化(对于某些对象)。基本上就是这样做:
  • 例如,重力随着上升而减弱<代码>a是您的高度

    public float gravity;
      void FixedUpdate () {
        f = (1000.0 - a) / 1000.0
        rigidbody2D.AddForce(Vector3.down * 9 * f * rigidbody2D.mass);
    }
    
    有很多东西要学

    只是一个很快的回答

  • 了解Physics2D.gravity。在场景中放置一些对象(球,无论什么),然后让场景运行,注意它们掉落。尝试改变重力,注意加速度是不同的
  • 在继续执行步骤2之前,掌握所有这些

    现在是坏消息

    正如你所看到的,统一中的“普通引力”非常容易。不幸的是,如果你想在不同的物体上进行单独的重力测量,这是非常先进的

  • 基本上关闭(1)中的“整体重力”,Unity可以让你轻松获得自由。然后,您必须手动将重力添加到每个对象(您希望它打开!)
  • 基本上你是这样做的

    public float gravity;
      void FixedUpdate () {
        rigidbody2D.AddForce(Vector3.down * 9 * rigidbody2D.mass);
    }
    
    不幸的是,关于跑步循环、物理(即真实世界的物理!)、游戏对象、刚体和一般的C#,你还有很多东西要学

    在继续执行步骤3之前,掌握所有这些

  • 最后,您希望重力随高度变化(对于某些对象)。基本上就是这样做:
  • 例如,重力随着上升而减弱<代码>a是您的高度

    public float gravity;
      void FixedUpdate () {
        f = (1000.0 - a) / 1000.0
        rigidbody2D.AddForce(Vector3.down * 9 * f * rigidbody2D.mass);
    }
    

    有很多东西要学

    干杯,一个优秀的初学者问题!为了让你开始,你需要Physics2D.gravity。。这是你需要了解的。我不知道它是否对2D有帮助,但它提供了如何做的见解。干杯,一个优秀的初学者问题!为了让你开始,你需要Physics2D.gravity。。你需要了解这一点。我不知道这对2D是否有帮助,但能让你深入了解该怎么做。@michaeldodell关于旧Unity论坛的旧评论也可能有帮助@michaeldodell关于旧Unity论坛的旧评论也可能有帮助