Skip to content

2D 物理系统

unity-2d-physics-system

概念

Unity 2D 物理系统专门处理 2D 游戏里的“运动、碰撞、触发、射线检测”。它和 3D 物理是两套系统,做 2D 时组件和 API 基本都带 2D

核心公式

2D 物理对象 = GameObject + SpriteRenderer + Collider2D + Rigidbody2D

SpriteRenderer 负责显示图片;Collider2D 负责定义碰撞范围;Rigidbody2D 负责让对象进入物理模拟,比如重力、速度、受力、碰撞响应。

最重要的几个概念

Rigidbody2D:让对象“被物理系统管理”。常看 Body TypeMassGravity ScaleLinear DampingConstraintsCollision Detection

Collider2D:对象的碰撞形状。常用 BoxCollider2DCircleCollider2DCapsuleCollider2DPolygonCollider2DEdgeCollider2DCompositeCollider2D

Body TypeDynamic 适合玩家、箱子、球,会受重力和力影响。 Kinematic 适合电梯、移动平台,由代码控制运动。 Static 适合地面、墙、固定障碍,不建议频繁移动。

CollisionTriggerCollision 是真实碰撞,会挡住、推开。 Trigger 不挡住,只检测进入、停留、离开,适合金币、传送门、伤害区域。

FixedUpdate:物理逻辑通常放这里,比如设置 linearVelocityAddForceMovePosition。输入可以在 Update 读,真正影响物理的动作建议在 FixedUpdate 执行。

参考链接:

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

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