Rigidbody 2D
# Rigidbody 2D (2D 刚体)
# 属性
Body Type:刚体类型
Dynamic: 动态
Kinematic: 运动
Static: 静态
Material: 材质
Simulated: 物理模拟系统交互开关
Use Auto Mass: 是否使用自动质量
Mass: 对象质量
Linear Drag: 线性阻力
Angular Drag: 角阻力
Gravity Scale: 重力大小
Collision Detection: 碰撞监测
Discrete: 分离模式
Continuous: 持续的
Sleeping Model: 休眠模式 - 定义游戏对象如何在处于静止状态时“睡眠”以节省处理器时间。
Never Sleep: 从不休眠 (应尽可能避免此设置,否则会影响系统资源)
Start Awake: 开始唤醒 (游戏对象最初处于唤醒状态)
Start Asleep: 开始休眠 (游戏对象最初处于睡眠状态,但可以被碰撞唤醒。)
Interpolate: 插值 - 定义如何在物理更新间隔之间插入游戏对象的移动(运动趋于颠簸状态时很有用)
None: 无 (不应用移动平滑)
Interpolate: 插值 (根据游戏对象在先前帧中的位置来平滑移动。)
Extrapolate: 外推 (根据游戏对象在下一帧中的估计位置来平滑移动。)
Constraints: 定义对
2D
刚体运动的任何限制Freeze Postion: 冻结位置 (选择性停止
2D
刚体沿世界x
和y
轴的移动。)X
Y
Freeze Rotation: 冻结旋转 (选择性停止
2D
刚体围绕世界z
轴的旋转)Z
# 属性详解
# Material
使用此属性可为连接到特定父 2D
刚体的所有 2D
碰撞体指定公共材质。注意:2D
碰撞体使用自己的 Material
属性(如果已设置)。如果此处或在 2D
碰撞体中未指定材质,则默认选项为 None
(Physics Material 2D
)。这种情况下使用可在 Physics 2D Settings
窗口中设置的默认材质。2D
碰撞体使用以下优先级顺序来确定要使用的 Material
设置:
1. 在 2D 碰撞体上指定的 2D
物理材质。
2. 在附加的 2D 刚体上指定的 2D 物理材质。在 Physics 2D Settings 中指定的 2D 物理材质默认材质。提示:使用此设置确保附加到同一 Static Body Type 2D 刚体的所有 2D 碰撞体都可使用同一材质。
# Simulated
如果2D
刚体以及所有附加的2D碰撞体和2D关节运行时与物理模拟系统交互,则启用 Simulated
, 如果禁用则取消勾选,这些组件就不会于模拟系统进行交互
启用后:
- 2D 刚体通过模拟系统进行移动(施加重力和物理作用力)
- 所有附加的 2D 碰撞体都会继续产生新的触点并不断重新估算触点
- 所有附加的 2D 关节都经过模拟并约束附加的 2D 刚体
- 2D 刚体、2D 碰撞体和 2D 关节的所有内部物理对象都保留在内存中
禁用后:
- 2D 刚体不通过模拟系统进行移动(不施加重力和物理作用力)
- 2D 刚体不会产生新触点,并会销毁所有附加的 2D 碰撞体触点
- 所有附加的 2D 关节都不会经过模拟,也不会约束任何附加的 2D 刚体
- 2D 刚体、2D 碰撞体和 2D 关节的所有内部物理对象都留在内存中
# Collision Detectio
Discrete模式: 具有
2D
刚体和2D
碰撞体的游戏对象在物理更新期间可以重叠或穿过彼此(如果移动得足够快)。仅会在新位置生成碰撞触点。Continuous: 具有
2D
刚体和2D
碰撞体的游戏对象在更新期间不会穿过彼此。相反,Unity
会计算2D
碰撞体的第一个影响点,并将游戏对象移动到该点。请注意,此设置比Discrete
耗费更多CPU
时间。
# 两种方法将2D刚体标记为Static:
对于具有
2D
碰撞体组件的游戏对象,不附加任何2D
刚体组件。所有此类2D
碰撞体在内部均视为已附加到单个隐藏的Static 2D
刚体组件。对于需要附加
2D
刚体的游戏对象,将此2D
刚体设置为Static
。