Unity 2D游戏:Rigidbody 2D(2D刚体)

Rigidbody 2D

Unity 2D游戏:Rigidbody 2D(2D刚体)_第1张图片  Unity 2D游戏:Rigidbody 2D(2D刚体)_第2张图片

  属性 说明
Body Type 刚体类型

设置为不同的运动行为(移动和旋转)和碰撞方式。

Dynamic(动态,默认)、Kinematic(运动学)、Static(静态)

Dynamic Rigidbody2D 动态,默认
  • Dynamic Rigidbody2D被设计用来制作在物理模拟下会移动的物体。
  • 它会与所有类型的Rigidbody2D进行碰撞,是最常用的Rigidbody2D类型、默认的类型,同时也是最耗费性能的类型。
  • 不要使用Transform组件来设置Dynamic Rigidbody2D的position和rotation。
Kinematic Rigidbody2D 运动学
  • Kinematic Rigidbody2D被设计用来制作在物理模拟下会移动、但是仅仅在明确的用户控制下运动的物体,它不会受到重力和AddForce、AddTorque等力相关的函数的影响。
  • Kinematic Rigidbody2D对系统资源的要求比Dynamic Rigidbody2D更低(所以更有效率)。
  • Kinematic Rigidbody2D被设计用来通过Rigidbody2D.MovePosition或Rigidbody2D.MoveRotation来进行重定位。
  • 对于Kinematic Rigidbody2D,velocity属性对它依旧有效,只不过施加力和重力都不会对velocity造成影响。
  • Kinematic Rigidbody2D仅仅只会与Dynamic的Rigidbody2D发生碰撞(在不勾选Use Full Kinematic Contacts的情况下),它在碰撞行为上类似于Static Rigidbody2D,可以理解为具有无限质量、无法被撼动(不能通过力或碰撞改变速度,但是可以设置其速度和位置、旋转)的刚体。
Static Rigidbody2D 静态
  • Static Rigidbody2D被设计用来制作在物理模拟下不会移动的物体。
  • 它在表现上可以理解为一个具有无限质量、不可移动的物体。此时velocity、AddForce、gravity、MovePosition、MoveRotation都是不可用的。
  • Static Rigidbody2D对资源最不敏感(对性能要求低),Static Rigidbody2D仅仅会与Dynamic Rigidbody2D发生碰撞。
  • 两个Static Rigidbody2D之间也不会发生碰撞,因为他们本来就被设计成不可移动的。
Material 材质 关联2D物理材质
Simulated 模拟

选中模拟选项,2D刚体将会与任何附加了2D碰撞机和2D关节发生仿真物理效果,如果禁用,则这些组件不与发生仿真物理效果。

模拟包括:运动、Collider2D的碰撞、Joint2D的约束效果、是否驻留在内存。

更改此属性在内存和处理上,都比直接启用/禁用Collider2D组件和Joint2D组件更有效率。

Use Auto Mass 使用自动质量 2D刚体从对撞中检查物体质量。
Mass 质量 定义2D刚体质量。如果选中了使用自动质量,这个选项为灰色的。
Linear Drag 线性阻力 影响位置运动的阻力系数。
Angular Drag 角度阻力 影响旋转运动的阻力系数。
Gravity Scale 重力标度 明确物体受到重力的程度。
Collision Detection 碰撞检测 定义2D碰撞器之间是如何检测碰撞的。
Discrete 分离的 碰撞检测为分离时,游戏物体上的2D刚体和2D碰撞在发生作用时可以重叠或者穿过其他物体时做一次物理效果更新。如果他们移动的足够快的话,碰撞会关联一次在一个新的位置。当2D刚体移动,仅在新位置碰撞被检测。
Continuous 连续的 当碰撞检测设置为连续,游戏物体的2D刚体2D碰撞没发生重叠或者穿过的时候都会更新检测,相反,U3D会计算任何一次2D碰撞即碰撞点,物体移动就有检测。注意,这比分离检测使用更多的CPU性能。确保所有2D刚体移动时检测到碰撞。
Sleeping Mode 睡眠模式 定义游戏物体如何“休眠”,以在其处于静止状态时节省处理器时间。

  Never Sleep

没有睡眠

睡眠被禁用(在可能的情况下应该避免它,因为它会影响系统资源)。
Start Awake 开始时清醒 游戏开始时是清醒的。
Start Asleep 开始时睡眠 游戏开始是睡眠的,但可以被碰撞。
Interpolate 插值 定义游戏对象的运动是如何在物理更新之间插入的(当运动趋于颠簸时有用)。
 None 不应用运动平滑。
Interpolate 插值 移动是基于游戏对象在之前帧中的位置平滑的。
Extrapolate 推算 运动是基于对其在下一帧位置的估计而平滑的。
Constraints 限制 定义刚体2D运动的任何限制。
Freeze Position 冻结位置 停止2D刚体在世界上的X和Y轴的运动。
Freeze Rotation 冻结旋转 停止2D刚体围绕Z轴的旋转。
Info 信息 显示当前设置信息状态。

参考博文:

https://blog.csdn.net/SerenaHaven/article/details/78851089

https://blog.csdn.net/jvao_q7/article/details/75004640

https://www.cnblogs.com/leiGameDesigner/p/9144058.html

你可能感兴趣的:(Unity)