unity如何代码改变重力

unity如何代码改变重力

作者:William Gu发布时间:2026-04-08 13:02阅读时长:15 分钟阅读次数:8
常见问答
Q
Unity中如何通过脚本调整游戏对象的重力?

我想在Unity里用代码修改某个游戏对象的重力参数,应该怎么做?

A

利用 Rigidbody 组件修改重力设置

可以通过访问游戏对象的 Rigidbody 组件,并设置其 useGravity 属性来开启或关闭重力影响。如果想自定义重力方向和大小,可以直接修改 Rigidbody 的 velocity 或在 FixedUpdate 函数中应用自定义重力力。

Q
有没有方法在Unity脚本里改变整个场景的重力方向?

除了针对单个对象调整,我想让整个场景的重力方向改变,比如从向下变成向左,该怎么实现?

A

修改 Physics.gravity 实现场景重力变化

Unity允许通过修改 Physics.gravity 变量来更改整个物理世界的重力向量。只需在脚本中赋值一个新的 Vector3,比如 Vector3.left * 9.81f,就能让所有受重力影响的对象向左移动。

Q
Unity中切换开关重力效果,有什么简单的代码实现方式?

我希望通过按键控制游戏中的重力开关,应该怎样用代码写?

A

通过 Rigidbody.useGravity 属性控制重力

在 Update 函数监听按键输入,根据输入结果将目标物体的 Rigidbody 组件的 useGravity 属性设置为 true 或 false,即可实现重力的开关切换。这样可以让对象瞬间有或无重力。