Skip to content

物理系统

unity-physics-system

零基础抓重点

物理系统负责让对象“像真实世界一样运动”:受重力、速度、力、碰撞、触发器、射线检测、层级过滤等影响。

最核心的三件套是:

  1. Rigidbody 让对象进入物理模拟。比如受重力下落、被力推动、产生速度、参与碰撞响应。
  2. Collider 定义对象的“碰撞形状”。它不负责移动,只告诉 Unity:这个物体哪里算身体边界。
  3. FixedUpdate 物理逻辑通常放这里,因为 Unity 物理模拟按固定时间步执行,不是按屏幕帧率执行。

新手记忆公式:

c
物理对象 = GameObject + Transform + Collider + Rigidbody
碰撞事件 = Collider + Rigidbody + OnCollisionEnter
触发事件 = Collider(Is Trigger) + Rigidbody + OnTriggerEnter
移动物理对象 = Rigidbody 速度 / AddForce / MovePosition

常见坑

不要只改 Transform.position 来移动带 Rigidbody 的物理对象,容易绕过物理系统。 输入可以在 Update 读,但真正施加力、速度、物理移动建议放到 FixedUpdate。 3D 物理和 2D 物理是两套系统:Rigidbody + Collider 对应 3D,Rigidbody2D + Collider2D 对应 2D,别混用。

参考链接

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0