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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/80126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

async/await的另一种食用方法

在JavaScript/TypeScript的异步编程中,async/await让我们的代码看起来更像是同步的,极大地提高了可读性。然而,错误处理仍然是一个需要仔细考虑的问题。今天我要分享一种优雅的错误处理模式,它能让你的异步代码更加简洁。 传统tr…

计算机网络 - stp生成树实验

【实验假设】 我们使用 Cisco Packet Tracer 或类似的模拟软件,或物理的 Cisco 交换机。 交换机初始为默认配置(或已通过 write erase 和 reload 清除配置)。 PC 已配置 IP 地址如下(示例): PC0: 192.168…

浅析 Spring 中 FactoryBean 的实现与使用

浅析 Spring 中 FactoryBean 的实现与使用 一、FactoryBean核心机制剖析二、高级应用场景与实战三、框架级应用案例解析四、FactoryBean常见面试题 一、FactoryBean核心机制剖析 1. 本质与双重角色 FactoryBean是Spring容器中用于定制化对象创建的核心接口(org.spri…

vue3 element-plus 输入框回车跳转页面问题处理

问题描述&#xff1a; 当页面搜索条件只有一个的情况下&#xff0c;输入框不管有没有值&#xff0c;回车后会跳转页面 解决办法&#xff0c;给表单添加 submit.prevent <el-form ref"ruleForm" :model"search" label-width"120px" class&qu…

(51单片机)LCD展示动画(延时函数)(LCD1602教程)

前言&#xff1a; 前面我们说过&#xff0c;之前LCD1602模块有点难&#xff0c;但是现在&#xff0c;我们通过几遍博客的学习&#xff0c;今天来讲一下LCD1602的原理 演示视频&#xff1a; LCD1602流动 源代码&#xff1a; main.c #include <STC89C5xRC.H> #include &q…

深入了解 OpenIddict:实现 OAuth 2.0 和 OpenID Connect 协议的 .NET 库

在现代 Web 开发中&#xff0c;身份验证和授权是安全性的重要组成部分。随着对安全性的要求不断增加&#xff0c;OAuth 2.0 和 OpenID Connect&#xff08;OIDC&#xff09;协议已经成为许多应用程序的标准身份验证方式。而 OpenIddict&#xff0c;作为一个用于实现 OAuth 2.0 …

【C++游戏引擎开发】第30篇:物理引擎(Bullet)—软体动力学系统

一、软体动力学理论体系 1.1 连续体力学基础 1.1.1 变形梯度张量 物体运动可描述为映射函数: x = ϕ ( X , t ) \mathbf{x} = \phi(\mathbf{X},t) x

Android Compose 层叠布局(ZStack、Surface)源码深度剖析(14)

Android Compose 层叠布局&#xff08;ZStack、Surface&#xff09;源码深度剖析 一、引言 在 Android 应用开发领域&#xff0c;用户界面&#xff08;UI&#xff09;的设计与实现一直是至关重要的环节。随着技术的不断演进&#xff0c;Android Compose 作为一种全新的声明式…

性能优化实践:内存优化技巧

性能优化实践&#xff1a;内存优化技巧 在Flutter应用开发中&#xff0c;内存优化是提升应用性能的关键环节之一。本文将从实战角度深入探讨Flutter内存优化的各种技巧&#xff0c;帮助你构建高性能的Flutter应用。 一、内存分析工具使用 1. DevTools内存分析器 启动DevTool…

2025-05-07 Unity 网络基础8——UDP同步异步通信

文章目录 1 UDP 概述1.1 通信流程1.2 TCP 与 UDP1.3 UDP 分包1.4 UDP 黏包 2 同步通信2.1 服务端2.2 客户端2.3 测试 3 异步通信3.1 Bgin / End 方法3.2 Async 方法 1 UDP 概述 1.1 通信流程 ​ 客户端和服务端的流程如下&#xff1a; 创建套接字 Socket。用 Bind() 方法将套…

如何减少锁竞争并细化锁粒度以提高 Rust 多线程程序的性能?

在并发编程中&#xff0c;锁&#xff08;Lock&#xff09;是一种常用的同步机制&#xff0c;用于保护共享数据免受多个线程同时访问造成的竞态条件&#xff08;Race Condition&#xff09;。然而&#xff0c;不合理的锁使用会导致严重的性能瓶颈&#xff0c;特别是在高并发场景…

AGV智能搬运机器人:富唯智能引领工业物流高效变革

在智能制造与工业4.0深度融合的今天&#xff0c;物流环节的高效与精准已成为企业核心竞争力的关键。富唯智能凭借其自主研发的AGV智能搬运机器人&#xff0c;以创新技术重塑工业物流标准&#xff0c;助力企业实现降本增效的跨越式发展。 一、技术突破&#xff1a;精准导航与智能…

K8s 资源分类

K8s 资源分类图谱 内置资源的分类 1、工作负载相关&#xff1a; Pod&#xff1a;最小的部署单元&#xff0c;包含一个或多个容器。 Deployment&#xff1a;管理无状态应用的副本和滚动更新。 StatefulSet&#xff1a;适用于有状态应用&#xff08;如数据库&#xff09;&#…

VLM-AD:通过视觉语言模型监督实现端到端自动驾驶

《VLM-AD: End-to-End Autonomous Driving through Vision-Language Model Supervision》2024年12月发表&#xff0c;来自Cruise和美国东北大学的论文。 人类驾驶员依靠常识推理来驾驭多样化和动态的现实世界场景。现有的端到端&#xff08;E2E&#xff09;自动驾驶&#xff0…

目标检测中的损失函数(三) | SIoU WIoUv1 WIoUv2 WIoUv3

&#x1f680;该系列将会持续整理和更新BBR相关的问题&#xff0c;如有错误和不足恳请大家指正&#xff0c;欢迎讨论&#xff01;&#xff01;&#xff01; SCYLLA-IoU&#xff08;SIoU&#xff09;来自挂在2022年arxiv上的文章&#xff1a;《SIoU Loss: More Powerful Learnin…

http Status 400 - Bbad request 网站网页经常报 HTTP 400 错误,清缓存后就好了的原因

目录 一、HTTP 400 错误的常见成因(一)问题 URL(二)缓存与 Cookie 异常(三)请求头信息错误(四)请求体数据格式不正确(五)文件尺寸超标(六)请求方法不当二、清缓存为何能奏效三、其他可以尝试的解决办法(一)重新检查 URL(二)暂时关闭浏览器插件(三)切换网络环…

【DeepMLF】具有可学习标记的多模态语言模型,用于情感分析中的深度融合

这是一篇我完全看不懂的论文,写的好晦涩,适合唬人,所以在方法部分我以大白话为主 abstract 在多模态情感分析(MSA)中,多模态融合已经得到了广泛的研究,但融合深度和多模态容量分配的作用还没有得到充分的研究。在这项工作中,我们将融合深度、可扩展性和专用多模容量作…

【ASP.net】在Windows 11上安装IIS并测试C# Web项目的踩坑实录

摘要 多年未接触.NET技术栈的田辛老师&#xff0c;最近因项目需求重新搭建测试环境。本文记录了Windows 11环境下安装IIS服务的全过程&#xff0c;以及一个让开发者抓狂的“空白页面”问题的解决方案。 1. 基础环境配置 工欲善其事&#xff0c;必先利其器。本次环境搭建选择…

【IP101】图像特征提取技术:从传统方法到深度学习的完整指南

&#x1f31f; 特征提取魔法指南 &#x1f3a8; 在图像处理的世界里&#xff0c;特征提取就像是寻找图像的"指纹"&#xff0c;让我们能够识别和理解图像的独特性。让我们一起来探索这些神奇的特征提取术吧&#xff01; &#x1f4da; 目录 基础概念 - 特征的"体…

HybridCLR 详解:Unity 全平台原生 C# 热更新方案

HybridCLR&#xff08;原 Huatuo&#xff09;是 Unity 平台革命性的热更新解决方案&#xff0c;它通过扩展 Unity 的 IL2CPP 运行时&#xff0c;实现了基于原生 C# 的完整热更新能力。下面从原理到实践全面解析这一技术。 一、核心原理剖析 1. 技术架构 原始 IL2CPP 流程&am…