当前位置:   article > 正文

Unity 2D游戏:Rigidbody 2D(2D刚体)_2d钢体插值

2d钢体插值

Rigidbody 2D

  

 属性说明
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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/89682
推荐阅读
相关标签
  

闽ICP备14008679号