【Unity基础】重力系统 刚体组件 Rigidbody 移动.碰撞.触发检测 您所在的位置:网站首页 姑娘果又叫哥伦比亚 【Unity基础】重力系统 刚体组件 Rigidbody 移动.碰撞.触发检测

【Unity基础】重力系统 刚体组件 Rigidbody 移动.碰撞.触发检测

#【Unity基础】重力系统 刚体组件 Rigidbody 移动.碰撞.触发检测| 来源: 网络整理| 查看: 265

       当在Unity中创建游戏或应用程序时,重力系统是一个非常重要的组成部分。它可以模拟物体受到地球引力的影响,并产生逼真的物理效果。在Unity中,我们可以使用刚体组件和重力向量来控制重力系统。

       首先,在Unity中创建一个物体,并将其设为刚体。可以通过在场景中选择物体并在Inspector面板中勾选"Is Kinematic"选项来确保物体不受其他力的影响。

首先我们先了解一下重力组件Rigidbody

质量(Mass):对象的质量

阻力(Drag):模拟运动时受到的阻力

角阻力(AngularDrag):模拟旋转时受到的阻力

使用重力(UseGravity):是否使用重力

IsKinematic:是否是启用动力学,如果取消勾选物体就不会有重力下落了

插值(Interpolate):物体运动位置的插值器 

None:没有插值

Interpolate:内插值。基于前一帧的Transform来平滑此次的Transform

Extrapolate:外插值。基于下一帧的Transform来平滑此次的Transform

碰撞检测(CollisionDetection):可以增加碰撞检测频率

Discrete: 离散碰撞检测,默认碰撞检测,物体高速移动可能会发生穿透

Continuous:连续碰撞检测,可以对移动的对象进行碰撞检测

Continuous Dynamic:连续动态检测,高速运动的物体可以可以使用,例如子弹

Continuous Speculative:推测检测,可以适用于Continuous和Continuous Dynamic检测对象,但消耗性能更低

Constraints:控制刚体运动的约束

冻结位置:勾选后可以使刚体在相应轴不能移动

冻结旋转:勾选后可以使刚体在相应轴不能旋转

碰撞检测:

碰撞检测条件

1.两个物体必须都包含碰撞体组件

2.至少有一个物体包含刚体组件

碰撞检测的方法

OnCollisionEnter( Collision collisionInfo )  当两个对象开始碰撞的时候触发一次 OnCollisionExit( Collision collisionInfo )     当两个对象碰撞结束的时候触发一次 OnCollisionStay( Collision collisionInfo )    当两个对象持续碰撞的一直触发

触发检测:

触发检测条件

1.两个物体必须都包含碰撞体组件,并且其中一个对象是勾选了是触发器

2.至少有一个物体包含刚体组件

触发检测的方法

OnTriggerEnter( Collider other )    当两个对象开始碰撞的时候触发一次 OnTriggerExit( Collider other )       当两个对象碰撞结束的时候触发一次 OnTriggerStay( Collider other )      当两个对象持续碰撞的一直触发

下面是一个简单的示例代码,展示了如何在Unity中移动和跳跃:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有