Unity Rigidbody(刚体)

本文详细介绍了Unity3D中刚体组件的物理属性,包括质量、阻力、角阻力、重力、动力学等,并讨论了如何通过AddForce系列方法施加力和扭矩。此外,还提到了碰撞检测模式和刚体约束,为实现真实感的物理交互提供了关键信息。
摘要由CSDN通过智能技术生成

Mass对象的质量(默认为千克)。
Drag根据力移动对象时影响对象的空气阻力大小。0 表示没有空气阻力,无穷大使对象立即停止移动。
Angular Drag根据扭矩旋转对象时影响对象的空气阻力大小。0 表示没有空气阻力。请注意,如果直接将对象的 Angular Drag 属性设置为无穷大,无法使对象停止旋转。
Use Gravity如果启用此属性,则对象将受重力影响。
Is Kinematic如果启用此选项,则对象将不会被物理引擎驱动,只能通过__变换 (Transform)__ 对其进行操作。对于移动平台,或者如果要动画化附加了 HingeJoint 的刚体,此属性将非常有用。
Interpolate仅当在刚体运动中看到急动时才尝试使用提供的选项之一。
None不应用插值。
Interpolate根据前一帧的变换来平滑变换。
Extrapolate根据下一帧的估计变换来平滑变换。
Collision Detection用于防止快速移动的对象穿过其他对象而不检测碰撞。
Discrete性能优先,检测间隔的大
Continuous检测间隔小,性能消耗大
Continuous Dynamic混合模式(上面两种检测模式交换着检测,看命)
Constraints对刚体运动的限制:
Freeze Position有选择地停止刚体沿世界 X、Y 和 Z 轴的移动。
Freeze Rotation有选择地停止刚体围绕局部 X、Y 和 Z 轴旋转。

方法       

常用属性

介绍

velocity速度(矢量)

angularVelocity

angularVelocity介绍

刚体的角速度矢量(以弧度/秒为单位)。

drag对象的阻力。
angularDrag对象的角阻力。
useGravity控制重力是否影响该刚体。
isKinematic控制物理是否影响刚体。
freezeRotation控制物理是否会更改对象的旋转。
collisionDetectionMode刚体的碰撞检测模式。

常用方法

介绍

AddForce (Vector3)添加一个力
AddExplosionForce添加爆炸力列表参数爆炸力大小Float,爆炸点Vector3,爆炸半径Float
注意:执行了添加爆炸力的方法,才会产生爆炸,不执行方法,即便距离爆炸点很近,也不会有任何的爆炸效果
AddForceAtPosition在一个点上施加一个力
AddRelativeForce添加相对力
AddRelativeTorque添加相对力矩

拓展:在使用AddForce方法的时候有个重载需要输入ForceMode(速度类型)的参数

ForceModeForceMode.Force(使用刚体质量每帧进行位移)
ForceMode.Acceleration(使用刚体默认质量1f进行每帧位移)
ForceMode.Impules(给物体添加瞬时速度,后续不再提供)
ForceMode.VelocityChange(使用刚体默认质量1f进行每秒位移)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值