Appearance
物理系统
零基础抓重点
物理系统负责让对象“像真实世界一样运动”:受重力、速度、力、碰撞、触发器、射线检测、层级过滤等影响。
最核心的三件套是:
Rigidbody让对象进入物理模拟。比如受重力下落、被力推动、产生速度、参与碰撞响应。Collider定义对象的“碰撞形状”。它不负责移动,只告诉 Unity:这个物体哪里算身体边界。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,别混用。