当前位置: 首页 > news >正文

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质量会影响力矩产生的效果(和惯量一起决定旋转加速度)

相关文章:

  • zst-2001 历年真题 程序设计语言
  • ecat总线6000段定义
  • [USACO1.1] 坏掉的项链 Broken Necklace Java
  • DockerDesktop替换方案
  • Spring Boot 集成 Solr 的详细步骤及示例
  • 36.金属壳体材料的选择与工艺处理对EMC的影响
  • C++ STL 容器详解:vector、string 和 map 的完全指南
  • kotlin中枚举带参数和不带参数的区别
  • C# 方法(局部函数和参数)
  • DDR在PCB布局布线时的注意事项及设计要点
  • SpringMVC框架详解与实践指南
  • 字符串,数组,指针之间的关系
  • 【NLP】 26. 语言模型原理与概率建模方法详解(Language Models)
  • FreeRTOS学习系列·二值信号量
  • TCP 与 UDP报文
  • 《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》封面颜色空间一图的选图历程
  • linux系统基本操作命令
  • asyncio:Python的异步编程
  • Lua 元表和元方法
  • 【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
  • “五一”假期预计全社会跨区域人员流动累计14.67亿人次
  • 云南禄丰尾矿坍塌事故搜救正在进行,被掩埋的四辆工程车已找到
  • 媒体:南京秦淮区卫健委回应一医院涉嫌违规提供试管婴儿服务
  • 张求会谈陈寅恪的生前身后事
  • 申活观察|精致精准精细,城市“双面镜”照见怎样的海派活力
  • 海外考古大家访谈|斯文特·帕波:人类进化遗传学的奠基者