UnityRigidbody常用属性及方法介绍

Rigidbody 属性

  1. collisionDetectionMode
    • 功能:设置刚体的碰撞检测模式。
    • 可选值:
      • Discrete:默认的碰撞检测模式,可能在快速移动的物体间产生穿透现象。
      • Continuous:适用于高速运动的物体,可以减少穿透现象,检测比Discrete更精确。
      • ContinuousDynamic:提供最精确的碰撞检测,适用于两个高速运动的物体,但计算消耗最大。
  2. drag
    • 功能:模拟物体在介质中移动时的阻力。
    • 数值范围:通常为非负值。
  3. inertiaTensor
    • 功能:定义刚体在三个轴向的转动惯量。
    • 形式:一个3x3的矩阵,影响刚体旋转时的动量改变。
  4. mass
    • 功能:定义刚体的质量。
    • 影响:质量越大,对力的响应越小,即加速度越小。
  5. velocity
    • 功能:获取或设置刚体的线性速度。
    • 形式:一个三维向量,表示刚体在三个方向上的速度分量。
  6. angularVelocity
    • 功能:获取或设置刚体的角速度。
    • 形式:一个三维向量,描述刚体绕各轴的旋转速度。
  7. useGravity
    • 功能:确定刚体是否受重力影响。
    • 类型:布尔值(true/false)。
  8. isKinematic
    • 功能:设置刚体是否为运动学刚体,即由脚本或动画直接控制其运动,而非物理模拟。
    • 类型:布尔值(true/false)。
  9. constraints
    • 功能:对刚体的移动和旋转自由度进行约束。
    • 可选约束:Freeze Position(X, Y, Z)和Freeze Rotation(X, Y, Z)可以分别约束刚体在特定轴向上的移动和旋转。
  10. centerOfMass
    • 功能:获取或设置刚体的质心位置。
    • 影响:质心位置影响刚体的旋转行为。
  11. worldCenterOfMass
    • 功能:获取刚体在世界空间中的质心位置。

Rigidbody 方法

  1. AddForce
    • 功能:在刚体的中心或指定点上施加一个力。
    • 参数:力的方向和大小,力的施加模式(如ForceMode.Impulse为瞬时力,ForceMode.VelocityChange为速度改变)。
  2. AddTorque
    • 功能:对刚体施加一个扭矩,使其旋转。
    • 参数:扭矩的方向和大小,施加模式类似AddForce。
  3. MovePosition
    • 功能:将刚体移动到指定位置,同时保留其速度。
    • 参数:新的位置坐标。
  4. MoveRotation
    • 功能:将刚体旋转到指定的旋转状态。
    • 参数:新的旋转状态(Quaternion)。
  5. Sleep
    • 功能:使刚体进入休眠状态,暂停物理模拟以节省性能。
  6. WakeUp
    • 功能:唤醒休眠的刚体,恢复其物理模拟。
  7. SweepTest 和 SweepTestAll
    • 功能:对刚体进行扫描测试,检测在给定的方向和距离内是否与其他碰撞体相交。
    • 返回:相交信息和碰撞点数据。
  8. ForceMode.Force
    • 描述:这是最常用的模式之一。它施加一个持续的力到物体上,这个力会持续作用,直到其他力或阻力改变物体的状态。
    • 举例:如果设定一个大小为10的力作用在质量为2的刚体上,每帧(假设FixedUpdate的执行频率为0.02s)刚体在受力方向(如X轴)上将增加0.1米的位移,因此每秒的移动速度为5m/s。
  9. ForceMode.Acceleration
    • 描述:该模式施加一个持续的加速度到物体上。与Force模式不同,它不考虑物体的质量,而是直接改变物体的速度。
    • 举例:在同样的力和时间间隔下,无论刚体的质量如何,每帧刚体在受力方向上都会增加0.2米的位移,导致每秒的移动速度为10m/s。
  10. ForceMode.Impulse
    • 描述:此模式施加一个瞬时的冲量到物体上。冲量是力与时间的乘积,它会立即改变物体的速度。
    • 举例:一个大小为10的冲量作用在质量为2的刚体上,会立即导致刚体在受力方向上增加5m/s的速度。由于是瞬时作用,所以不考虑时间间隔,刚体每秒的速度会非常高,如250m/s。
  11. ForceMode.VelocityChange
    • 描述:该模式施加一个瞬时的速度变化到物体上。与Impulse模式类似,它会立即改变物体的速度,但也不考虑物体的质量等因素。
    • 举例:一个大小为10的速度变化会直接使刚体在受力方向上获得10m/s的速度增量,由于是瞬时变化,且不考虑质量,刚体每秒的速度可以达到非常高,如500m/s。
  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值