unity中Rigidbody添加力的几种方式

枚举ForceMode 的值:

 

 

Force                  添加一个可持续力到刚体,使用它的质量。

Acceleration        添加一个可持续加速度到刚体,忽略它的质量。

Impulse               添加一个瞬间冲击力到刚体,使用它的质量。

VelocityChange   添加一个瞬间速度变化给刚体,忽略它的质量。

 

Rigidbody.AddForce

添加一个力到刚体

Rigidbody.AddRelativeForce

添加一个力到刚体,相对于刚体自身的坐标系统。

Rigidbody.AddTorque

在刚体上增加一个力矩(扭矩)。

Rigidbody.AddRelativeTorque   //添加相对力矩

添加一个力矩到刚体,相对于刚体自身的坐标系统。

Rigidbody.AddForceAtPosition  在物体表面位置上(施加)添加力

在position位置应用force力。作为结果这个将在这个物体上应用一个力矩和力。为了效果的真实性,position的位置应在刚体的表面

Rigidbody. AddExplosionForce 

应用一个力到刚体来模拟爆炸效果。爆炸力将随着到刚体的距离线形衰减。

explosionForce 爆破力

explosionPosition 爆炸位置

explosionRadius 爆破半径,为0时表示无穷大

upwardsModifier 可以理解为爆炸产生的向上冲击波的衰减值。值越大,威力越小。

 

获取速度

Rigidbody.GetRelativePointVelocity

获取刚体上的点相对本地坐标系的速度。获取的速度有考虑刚体的角速度。

Rigidbody.GetPointVelocity 

获取刚体上的点相对世界坐标系的速度。获取的速度有考虑刚体的角速度。

 

休眠

Rigidbody.Sleep();

强制一个刚体休眠至少一帧。刚体休眠有利于性能优化

Rigidbody.IsSleeping();

判断刚体是不是在休眠

Rigidbody.WakeUp();

强制唤醒一个刚体

Rigidbody.velocity=

给刚体赋值指定的速度,一般较适用于需要对使用刚体的物体进行细微的速度控制.

Rigidbody.MovePosition();

让刚体移动至指定位置

 

(整理一下,方便记)

如果存在哪里不对的地方,多多指出,谢谢大家包涵  ! ! !

 

posted @   剑起苍穹  阅读(12096)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
/*鼠标点击特效*/
点击右上角即可分享
微信分享提示