Unity:AddTorque()(增加旋转力矩)

目录

什么是 AddTorque()?

第一性原理出发:什么是 Torque(力矩)?

Torque 公式 

Unity 中 AddTorque 的工作原理

参数属性

Linear Drag(线性阻力)

线性阻力模拟的现实情况:

  Angular Drag(角阻力)

⬇️  Gravity Scale(重力缩放因子) 

✅ mass(质量)

✅ inertia(转动惯量,Unity 内部计算)

专业术语解释

Rigidbody2D 中的相关属性


什么是 AddTorque()

AddTorque() 是 Unity 中用于对物体施加旋转力矩(Torque)的方法,从而让刚体围绕其中心轴开始旋转。

它是 Rigidbody / Rigidbody2D 的方法之一,作用是让刚体旋转起来,而不是平移。

第一性原理出发:什么是 Torque(力矩)?

在物理学中:

 Torque(力矩,中文也叫“转矩”)是使物体产生“旋转加速度”的量。

类比:开门的感觉

想象你要打开一扇门。

  • 你把手放在门边缘用力一推,门很容易旋转打开;

  • 但你把手放在靠近门轴的地方推,门很难转动。

这说明:

相同的力,距离门轴越远,产生的“转动效果”越强。 

 这个转动效果就叫Torque(力矩)。

Torque 公式 

我们从经典物理公式来看: 

τ = r × F 

其中:

  • τ(tau)是力矩(Torque)

  • r 是从转轴到施力点的距离(位置向量)

  • F 是施加的力(向量)

  • × 是叉乘,表示方向性(右手法则)

这意味着:
一个力要想让物体旋转,它不仅要有大小,还要有正确的方向和施力点位置。

Unity 中 AddTorque 的工作原理

在 Unity 中调用:

Rigidbody2D rb;
rb.AddTorque(10f);

 就相当于说:

给这个刚体一个大小为 10 的顺时针力矩,让它旋转。 

正负号表示旋转方向:

数值 方向(以Z轴为旋转轴)
正数(+10f 逆时针旋转(Counterclockwise)
负数(-10f 顺时针旋转(Clockwise)

参数属性

属性名 中文名 控制什么 类比
mass 质量 物体对加速度的抵抗 重物更难推动
gravityScale 重力缩放 控制重力影响力的大小 让物体掉落更快或更慢
linearDrag 线性阻力 控制物体移动减速的快慢 像空气阻力或地面摩擦
angularDrag 角阻力 控制物体旋转减速的快慢 像陀螺的摩擦减速
inertia (只读) 转动惯量 控制旋转的“惯性” 更大更重的轮子转起来慢停下来也慢

Linear Drag(线性阻力)

Linear Drag 是物体移动时遇到的空气阻力/摩擦力,用来减慢它的平移运动。 

它模拟的是现实生活中的“空气阻力”或“地面摩擦”,作用方向总是与当前速度方向相反。 

线性阻力模拟的现实情况:

情况 Linear Drag 值
真空环境,完全无阻力 0
空气中滑动 0.1 ~ 2
水中滑动 5 ~ 20
沙地或粘性液体 20+

  Angular Drag(角阻力)

Angular Drag 是物体旋转时遇到的“空气摩擦”或“轴摩擦”,减慢它的旋转速度。 

如果你用 AddTorque() 让一个轮子旋转,但不想它永远不停,那就靠这个。 

类比现实:

  • 零角阻力 = 真空中的陀螺,永远旋转

  • 高角阻力 = 在沙子里转轮子,几乎不动几圈就停

⬇️  Gravity Scale(重力缩放因子) 

Gravity Scale 控制物体受 Unity 世界重力影响的大小。 

默认 Unity 的世界重力是: 

Physics2D.gravity = new Vector2(0, -9.81f);

所以:

  • 如果 gravityScale = 1,物体受到的重力加速度是 -9.81

  • 如果 gravityScale = 2,它就受到 -19.62 的加速度

  • 如果是 0,它就不受重力影响(比如幽灵、漂浮物)

类型 gravityScale 建议值
普通角色 1.0
飘浮生物/飞行物 0.0
重型机械 2.0 ~ 4.0
反重力物体 -1.0(会上升)

✅ mass(质量)

  • 控制物体受力后产生的加速度(F = m * a)

  • 决定撞击时的惯性(大质量 = 撞人更猛)

✅ inertia(转动惯量,Unity 内部计算)

  • 控制 Torque 转得快不快

  • 大惯量 = 更难旋转/更难停

你不能手动设置 inertia,但它由物体的 Collider 形状 + mass 决定。


专业术语解释

术语 中文 含义
Torque 力矩 / 扭矩 一种“使物体旋转”的力,与施力点和轴心的距离有关
Rigidbody / Rigidbody2D 刚体 Unity 中可以参与物理模拟的对象
Angular Velocity 角速度 单位时间内旋转的角度速度,单位是弧度/秒 或 度/秒
AddTorque(float torque) 添加力矩 施加一个数值大小的旋转力,正负号决定顺/逆时针方向

Rigidbody2D 中的相关属性

如果你用了 AddTorque(),以下这些属性会受到影响:

属性 中文名 意义
angularVelocity 角速度 当前旋转速度(°/s)
inertia 转动惯量 物体对旋转的抵抗能力
mass 质量 会影响力矩产生的效果(和惯量一起决定旋转加速度)

你可能感兴趣的:(Unity,unity,游戏引擎)