Unity基本组件—Rigidbody
文章目录
- 组件介绍
- 面板属性
- 属性
- 方法
组件介绍

面板属性
Mass 质量:以kg为单位,值为float类型,默认值为1
Drag 空气阻力:表示物体因受阻力而速度衰减的状态,值为float类型,默认值为0
Angular Drag旋转阻力:顾名思义,就是物体在旋转时受到的阻力,值为float类型,默认值为0.05
Use Gravity使用重力:bool型,为true则该物体受重力影响
Is Kinematic是否为Kinematic刚体:如果启用该参数,则对象不会被物理所控制,只能通过直接设置位置、旋转和缩放来操作它,一般用来实现移动平台,或者带有HingeJoint的动画刚体(游戏中的门)
Interpolate 插值:该属性表示的是该物体运动的插值模式,如果你的刚体运动时有抖动,尝试一下修改这个参数,None表示没有插值,Interpolate表示根据上一桢的位置来做平滑插值,Extrapolate表示根据预测的下一桢的位置来做平滑插值
Collision Detection碰撞检测模式:默认状态时Discrete。在没有发生碰撞检测的情况下,碰撞物体会穿过对方,产生所谓 穿透现象。碰撞模式有不连续模式(Discrete),连续模式(Continuous)和动态连续模式(ContinuousDynamic),动态连续模式适用于高速运动的物体,连续模式仅仅可以用于球体,胶囊和盒子碰撞者的刚体,而且会严重影响物体的运动表现,因此大部分采用不连续模式。
Constraints 刚体运动的约束:包括位置约束和旋转约束,勾选表示在该坐标上不允许进行此类操作
属性
| 名称 | 作用 |
|---|---|
| angularDrag | 角阻力值 |
| angularVelocity | 刚体的角速度矢量(以弧度/秒为单位) |
| centerOfMass | 物体的重心,如果您未通过脚本设置重心,则会自动计算重心 |
| collisionDetectionMode | 刚体的碰撞检测模式 |
| constraints | 刚体运动的约束 |
| detectCollisions | 是否应该启用冲突检测 |
| drag | 空气阻力 |
| freezeRotation | 控制物理学是否会改变对象的旋转 |
| inertiaTensor | 惯性张量 |
| isKinematic | 是否为Kinematic刚体 |
| mass | 质量 |
| maxAngularVelocity | 最大角速度,角速度数值被限定在最大值之内,必须为正数 |
| maxDepenetrationVelocity | 最大穿透速度 |
| position | 该刚体的位置 |
| rotation | 该刚体的旋转 |
| sleepThreshold | 哪个对象开始进入休眠状态,质量归一的能力阈值 |
| solverIterations | |
| solverVelocityIterations | |
| useGravity | 是否使用重力 |
| velocity | 刚体的速度向量 |
| worldCenterOfMass | 世界坐标中间的刚体的重心 |
方法
| 名称 | 作用 |
|---|---|
| AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius, float upwardsModifier = 0.0F, ForceMode mode = ForceMode.Force) | 向模拟爆炸效果的刚体施加力 explosionForce爆炸力(可通过距离修改) explosionPosition爆炸在其中起作用的球体中心 explosionRadius爆炸在其中起作用的球体的半径 explosionRadiusupwardsModifier调整爆炸的视在位置,使其看起来像举起物体 mode将力施加到目标的方法 |
| AddForce(Vector3 force, ForceMode mode = ForceMode.Force) | 向刚体添加力force在世界坐标系中的力向量 mode施加的力量类型 |
| AddForceAtPosition(Vector3 force, Vector3 position, ForceMode mode = ForceMode.Force) | 增加刚体点作用力. |
| AddRelativeForce | 相对于其坐标系向刚体添加力. |
| AddRelativeTorque | 添加相对力矩. |
| AddTorque | 添加力矩. |
| ClosestPointOnBounds | 到边界框的最近点. |
| GetPointVelocity | 获取点速度. |
| GetRelativePointVelocity | 获取相对点速度. |
| IsSleeping | 在休眠?. 返回bool值 |
| MovePosition | 移动位置. |
| MoveRotation | 移动旋转. |
| ResetCenterOfMass | 重置刚体的质心 |
| ResetInertiaTensor | 重置惯性张量值和旋转 |
| SetDensity | 设置密度. |
| Sleep | 休眠. |
| SweepTest | 扫描测试. |
| SweepTestAll | 扫描测试全部. |
| WakeUp | 唤醒. |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
