概述
在Unity中RigidBody(刚体)组件在物理系统中是非常重要的,它决定了一个物理基本的物理属性,比如质量阻力,惯性,重力等重要物理的属性,在实际开发中经常会使用到它,为了让你的游戏更加符合真实物理,接下来来了解一下它的参数吧。
Unity组件入门篇总目录----------点击导航
刚体组件
属性
Mass:物体的质量
Drag:物体在运动的时候的阻力
Angular:物体在旋转时候的阻力
Automatic Center Of Mass:自动设置质量中心点
Automatic Tensor:自动设置惯性
Use Gravity:是否使用重力
Is Kinematic:是否是运动的
Interpolate:差值运算
-
none:不做任何处理
-
Interpolate:差值算法,这个算法的原理是根据上两帧的结果来算当前帧的位置,让运动更加平滑
-
Extrapolate:推测算法,根据上一帧和推测下一帧的位置来计算当前位置
Collision Detection:检查距离
-
Discrete:碰撞检测是相互独立的,默认选项不做特殊处理的情况
-
Continuous:Continuous collision detection(CCD) 连续碰撞检测算法,直接说结论吧适用于静态的物体
-
Continuous Dynamic:适用于动态的物体
-
Continuous Speculative:推测算法,会消耗更少的性能,不过可能会出现碰空的情况
-
这部分的内容可以看Unity官方的文档,你需要了解SpeculativeCCD和sweep—based CCD书算法,Continuous和Continuous Dynamic会销毁更多的性能,但是碰撞的准确性会高很多。
Constraints:约束条件
-
Freeze Position:选择一个方向的位置冻结住,然后这个物体就不会在这个方向中移动了
-
Freeze Rotation:选择一个旋转方向冻结,物体就会损失这个方向的移动
Layer Overrides:层遮蔽
-
Include Layer:包含的层,会与这个层的物体发生物理交互
-
Exclude Layer:不包含的层,不会与这个物体发生物理交互
作者的一点废话
这部分的内容一般都是和碰撞体一起使用的,有个非常重要的一个点,就是如果以想两个物体发生碰撞,那其中一方一定得有刚体组件,很多同学才开始接触Unity的时候都是学2D游戏开发开始的,经常后用到OnTriggerEnter()或者 OnTriggerExit()方法,要使用这个方法的时候,其中一方一定得有刚体才可以。
日志:
2024年4月22日 21:09 :Unity Rigidbody 初版上传
2024年4月22日 21:25 :修改了错别字和一些表述不合理的地方
2024年5月13日 21:48//添加unity入门篇总目录