Unity物理引擎:Rigidbody简介

面板参数:

Mass :质量:设置物体的质量。

Drag:阻力:当对象运动时收到的空气阻力。阻力极大时会导致游戏物体无法运动;

Angular Drag :角阻力:当对象受扭矩力旋转时收到的空气阻力。阻力极大时会导致游戏物体停止运动。

Use Gravity:使用重力:若开启此项,游戏对象将会收到重力的影响。

Is Kinematic: 是否开启动力学:若开启此项,游戏对象将不再受到物理引擎的影响从而只能通过Tansform属性来对其操作,该方式适用于模拟平台的移动或者带有铰链关节链接 刚体的动画。

Interpolate:插值:该项用于控制物体运动的抖动情况,有三种情况可以选择,:

{ None:没有插值;

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

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

}

Collision Detection:检测碰撞,有三种选择方式:

{

Discrete:离散碰撞检测:该模式与场景中其他的所有碰撞体检测,为默认值;

Continuous:连续碰撞检测:该模式用于检测与动态碰撞体(带有Rigidbdoy)的碰撞,使用连续碰撞检测与网格碰撞体的(不带Rigidbody)碰撞;

Continuous Dynamic :连续动态碰撞检测模式。该模式用于检测与采用连续碰撞模式或者连续动态碰撞模式对象的碰撞,也可以用于检测没有Rigidbody 的静态网格碰撞体;

}

Constrains: 约束;该项用于控制对于刚体运动的约束;

{

Freeze Position :冻结位置,刚体对象在世界坐标系中 的XYZ轴的方向上(勾选状态)的移动将无效;

Freeze Rotation:冻结旋转,刚体对象在世界坐标系中的XYZ轴方向上(勾选状态)的旋转将无效。

}

刚体说明:

刚体可以使得游戏对象在物理引擎的控制下运动,可以通过在刚体上添加力来操作游戏对象,这与直接调整Transform组件相比在四绝以及感受上都有很大的不同。


与游戏对象的Transform最大的不同就是刚体会用到作用力,刚体可以接受外力和扭矩,但是Transform不可以达到此效果。在使用物理方式操作对象的同时,又改变它的Transform会导致碰撞及其他相关的计算出现问题。


刚体在受到物理引擎作用以前需要为其明确的添加一个游戏对象,使用刚体组件需要注意一下方面:

1.Parenting:父子级;当一个游戏对象受到物理系统控制时,它会以半独立的方式随着父对象而改变。

2.Scripting:脚本;可以通过在游戏对象的刚体上添加AddForce与AddTorque函数,到达通过脚本来添加作用力与扭矩力。要注意的是:不要直接改变对象的Transform件的属性;

3. Animation:动画;有些情况下,如需要创建布娃娃效果的时候,需要在动画和物理系统间切换对象的控制权,因此当刚体被标记为动力学模式的时候,就不会受到如碰撞,作用力,或者其他物理效果的影响,这就意味着要直接操作该对象的Transform组件来控制对象了,动力学刚体会影响到其他的对象,但其本身并不受到物理系统的影响。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值