一、 身体类型的区别
静态刚体(Static Rigidbody):静态刚体是指没有速度、不受力的物体,例如地面、墙壁等。
静态刚体不会被其他刚体推动或碰撞,但可以与其他物体发生碰撞。
动态刚体(Dynamic Rigidbody):动态刚体是指具有质量、速度和力学特性的物体,例如人物、车辆等。
动态刚体可以受到其他物体的碰撞和力的作用,可以移动、旋转等。
运动学刚体(Kinematic Rigidbody):运动学刚体是一种特殊的刚体类型,可以手动控制移动和旋转,但不受其他刚体的碰撞和力的作用。
通常用于动画和特效的制作。
二、 碰撞检测的区别
离散碰撞检测(Discrete Collision Detection):离散碰撞检测是指在每一帧结束时,
对所有刚体进行位置和形状的简单比较,从而判断是否发生碰撞。
这种方法适用于速度较慢的物体,但对于高速运动的物体,可能会出现穿透现象。
连续碰撞检测(Continuous Collision Detection):连续碰撞检测是指在两帧之间,
对物体的运动轨迹进行预测,从而计算出物体是否会在下一帧发生碰撞。
这种方法可以避免穿透现象,但计算量较大,可能会影响游戏性能。
三、 休眠模式的区别
永不休眠(Never Sleep):刚体始终处于活动状态,不会进入休眠状态,
这种模式适用于需要实时检测碰撞的物体,例如玩家角色、子弹等。
开始休眠(Start Sleeping):当刚体静止一段时间后,会进入休眠状态,
这种模式适用于需要检测碰撞但不需要实时计算物理效果的物体,例如道具、场景中的物品等。
总是休眠(Always Sleeping):刚体在静止一定时间后,进入休眠状态,
这种模式适用于静止不动的物体,例如建筑、地形等。在这种模式下,刚体的运动将不再计算,以节省计算资源。
四、 插值的区别
Interpolate(插值):Interpolate是指在更新刚体位置和旋转时,使用插值算法来平滑过渡。
这种插值方式可以使物体移动和旋转看起来更加平滑和自然,但可能会导致物体的位置和旋转略微偏离预期值。
Extrapolate(外推):Extrapolate是指在更新刚体位置和旋转时,使用外推算法来预测物体在未来的位置和旋转。
这种插值方式可以使物体移动和旋转看起来更加准确,但可能会导致物体的位置和旋转出现不自然的抖动。