根据高度改变物体的重力
Changing gravity on an object depending on, say, altitude
我正在使用 unity 并试图计算出二维物体的重力。我能否根据某物在世界中的位置或 space 改变其重力,或者整个世界的重力是否保持不变?
意思是如果我在零高度有一个特定重力的物体,然后一旦物体到达 1000 米,重力就会改变。
只是一个非常快速的回答,
- 了解 Physics2D.gravity。在场景中放置一些物体(球等)并让场景 运行,注意它们下落。尝试改变重力并注意加速度不同。
在继续第 2 步之前掌握所有这些!
现在是坏消息!
如您所见,Unity 中的 "Ordinary gravity" 非常简单。不幸的是,如果你想对不同的物体进行单独的引力,那就太高级了!
- 基本上关闭 (1) 中的"overall gravity",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);
}
很多东西要学!
我正在使用 unity 并试图计算出二维物体的重力。我能否根据某物在世界中的位置或 space 改变其重力,或者整个世界的重力是否保持不变?
意思是如果我在零高度有一个特定重力的物体,然后一旦物体到达 1000 米,重力就会改变。
只是一个非常快速的回答,
- 了解 Physics2D.gravity。在场景中放置一些物体(球等)并让场景 运行,注意它们下落。尝试改变重力并注意加速度不同。
在继续第 2 步之前掌握所有这些!
现在是坏消息!
如您所见,Unity 中的"Ordinary gravity" 非常简单。不幸的是,如果你想对不同的物体进行单独的引力,那就太高级了!
- 基本上关闭 (1) 中的"overall gravity",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);
}
很多东西要学!