U
Unity
星辰学院
首页
课程表
章节导览
第 1 课
返回主站
首页
/
第 7 章 · 物理系统
/
第 105 课
LESSON 105 · 物理系统
重力调节与自定义重力
重力调节已掌握。下一课学移动平台与传送带。
⏱ 约 12 分钟
📊 难度:
入门
🗂 第 7 章 · 物理系统
📍 第 105 / 300 课
课程进度
105 / 300
🎯
本节学习目标
掌握全局重力设置
实现局部重力模拟
理解重力实现原理
🚀
课程导读
“月球上跳得高”“太空漂浮”“反转重力”——本课玩转重力。
◆
全局重力设置
改整个世界的地心引力。
菜单 Edit → Project Settings → Physics → 找到【Gravity】。
默认是 (0, -9.81, 0):向下 9.81 米/秒²。
改成 (0, -1, 0):重力变弱(月球感);改成 (0, 9.81, 0):重力向上!
改小重力:物体下落更慢、跳跃更高。
【注意】全局重力影响所有带 Use Gravity 的刚体。
【固定步长】物理模拟与 Fixed Timestep 有关,改重力后物理行为同步变化。
【建议】一般保持默认,特殊关卡再临时改(用代码恢复)。
💡
重力方向可以为任意向量,做“反转关卡”就把它改成朝上。
◆
自定义重力(局部)
给单个物体“定制引力”。
方式1:关闭刚体 Use Gravity,自己在 FixedUpdate 里施加恒力模拟:
void FixedUpdate() { rb.AddForce(Vector3.up * localGravity, ForceMode.Acceleration); }
localGravity 可正可负,实现“此物向上飘/向下坠”。
方式2:施加“向某个中心点”的引力(星球引力):
Vector3 dir = (center - rb.position).normalized; rb.AddForce(dir * gravity, ForceMode.Acceleration);
【月球漫步】全局重力改 (0,-2,0) + 跳高力调大,体验失重跳跃。
【太空漂浮】关闭 Use Gravity,用 AddForce 微操。
【注意】自定义重力时不要勾 Use Gravity,否则叠加。
【应用】行星引力、磁力场、局部重力平台。
✅
记住:全局重力在 Project Settings;局部重力=关 Use Gravity + 自己 AddForce。
⚠
常见错误与排查
⛔
错误:
物体上下乱飘?
原因:
Use Gravity 与自定义力叠加
解决:
关闭 Use Gravity 只用自定义力;或反之,别两个都开。
★
动手练习
课后小任务(做出来才算真的学会)
把全局重力改小体验月球跳跃(记得改回)
给一个物体实现“向上飘”的自定义重力
实现朝某个中心点的引力
✓
本节小结
重力调节已掌握。下一课学移动平台与传送带。
标记为已完成
完成打卡后,主站会实时更新你的学习进度 🎯
← 上一课
爆炸与冲击力
下一课 →
移动平台与传送带
↑