【Unity】11.2 刚体(Rigidbody)

article/2025/10/19 15:49:48

分类:Unity、C#、VS2015

创建日期:2016-05-02

一、简介

Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力,使游戏对象像在真实世界中那样进行运动。

任何游戏对象,只有对其添加了刚体组件,该对象才能受重力的影响。

通过脚本为游戏对象添加的作用力,以及通过NVIDlA物理引擎与其他的游戏对象发生互动的运算,都需要为游戏对象添加刚体组件。

二、如何为对象添加刚体

在Unity 5.x中为某个游戏对象添加刚体组件的办法是:选中要添加刚体的游戏对象-->【Component】-->【Physics】-->【Rigidbody】,这样就为该对象添加了刚体。

添加刚体和碰撞体后,选择该对象,就会看到其周围被一层绿色的框线包围:

image

添加刚体和碰撞体的目的主要用于将该对象和其他对象之间进行碰撞检测。碰撞体既可以用胶囊体来实现,也可以用其他碰撞体组件来实现。

三、相关属性

与刚体相关的属性如下。

1、Mass (质量)

对象的质量(任意单位)。不应使质量比其他刚体 (Rigidbody) 的质量大或小100 倍。

2、Drag (阻力)

在由于施加力而移动时空气阻力对对象的影响程度。0 表示无空气阻力,空气阻力为无穷大将会使对象立即停止移动。

3、Angular Drag (角阻力)

对某个对象施加扭矩而导致该对象旋转时,空气阻力对该对象的影响程度。0 表示无空气阻力。注意:不能仅仅通过将其“角阻力”(Angular Drag) 设置为无穷大使对象停止旋转。

4、Use Gravity (是否使用重力)

如果启用,则对象将受重力影响。

5、Is Kinematic (是否开启运动学)

如果启用,则该对象不会由物理引擎驱动,而是只能通过对其施加变换 (Transform)进行处理。对于手机等移动平台,或者对附加了铰链关节 (HingeJoint) 的刚体 (Rigidbody) 进行动画处理时,为对象开启运动学十分有用。

6、Interpolate (插值处理)

该项用于控制刚体运动的抖动情况。仅当在刚体 (Rigidbody) 移动中发现不平稳时,才尝试下面这些选项之一:

None:不应用插值。

Interpolate:内插。变换(Transform) 基于上一帧的变换 (Transform) 进行平滑处理。

Extrapolate:外插。变换 (Transform) 基于下一帧的估计变换 (Transform) 进行平滑处理。

7、Collision Detection (碰撞检测)

该属性用于控制避免高速运动的游戏对象穿过其他的对象而未发生碰撞。选项有:

(1)Discrete(离散)

对场景中的所有其他碰撞体 (Collider) 全部使用离散 (Discreet) 碰撞检测。该项为默认值。

(2)Continuous (连续)

对刚体 (Rigidbody) 进行碰撞测试时,对带有刚体的动态碰撞体 (Collider) 使用离散 (Discreet) 碰撞检测;对不带刚体的静态网格碰撞体 (static Mesh Collider)使用连续 (Continuous) 碰撞检测。

(3)Continuous Dynamic (连续动态)

该选项可用于快速移动的对象。

对设置为“连续”(Continuous) 和“连续动态”(Continuous Dynamic) 碰撞的对象使用连续 (Continuous) 碰撞检测。它对不带刚体的静态网格碰撞体也使用连续 (Continuous) 碰撞检测。对于所有其他碰撞体 (Collider),使用离散 (Discreet) 碰撞检测。

注意:连续动态(Continuous Dynamic) 检测需要与之碰撞的对象对物理性能的影响非常大,如果对快速对象的碰撞没有问题,应该将其设置为“离散”(Discreet)而不是连续动态。

8、Constraints (约束)

对刚体 (Rigidbody) 运动的限制。

(1)Freeze Position (冻结位置)

选择性地在世界坐标 X、Y 和 Z 轴上停止刚体 (Rigidbody) 移动。即:刚体对象在世界坐标系中的X、Y、4由方向上(勾选状态)的移动将无效。

(2)Freeze Rotation (冻结旋转)

选择性地停止刚体 (Rigidbody) 围绕世界坐标 X、Y 和 Z 轴的旋转。即:刚体对象在世界坐标系中的X、Y、4由方向上(勾选状态)的旋转将无效。

三、注意事项

1、Rigidbody和Transform只能二选一

刚体(Rigidbody)会使游戏对象在物理引擎的控制下运动,例如可以以真实的碰撞形式来开门或计算其他的行为。通过在刚体上添加作用力来操作游戏对象,这与直接调整Transform组件相比在视觉及感受上都有很大的不同。通常情况下,没有必要在操作—个对象刚体的同时也操作其Transform,只需要二选其一即可。

操作游戏对象的Rigidbody与操作该对象的Transform最大的不同就是刚体有作用力,而且刚体可以接受外力和扭矩,但是Transform无法达到该效果。Transform可以移动和旋转游戏对象,这与使用物理的方式并不相同。

对—个刚体添加外力或扭矩实际上也会改变该对象Transform组件的移动和旋转,这也就是这两者只需要选其一的原因。使用物理方式操作对象的同时又改变它的Transform会导致碰撞及其他相关的计算出现问题。

刚体在受物理引擎作用之前必须要明确地将其添加给一个游戏对象,之后该对象就会受到重力和通过脚本添加的作用力的影响,但根据实际情况可能还需要为其添加碰撞体或关节等以便达到预期的行为效果。

2、父子化 (Parenting)

当对象处于物理控制之下时,其移动方式与其变换父级的移动方式半独立。如果移动任何父级,则会随它们一起拉动刚体 (Rigidbody) 的子级。但是,刚体 (Rigidbody) 仍会由于重力的作用而下落并对碰撞事件作出反应。

3、脚本处理

要控制刚体 (Rigidbody),主要使用脚本添加力或扭矩。可通过对对象的刚体 (Rigidbody) 调用 AddForce() 和 AddTorque() 来实现此目的。

记住:不应在使用物理时直接改变对象的变换 (Transform)。

4、动画

有些情况下,如需要创建布娃娃效果的时候,需要在动画和物理系统间切换对象的控制权。因此当刚体被标记为动力学(isKinematic)模式时,就不会受到如碰撞、作用力或其他物理效果的影响,这就意味着需要直接操作该对象的Transform组件属性来控制该对象了。动力学刚体(Kinematic Rigidbody)会影响其他的对象,但其自身并不受到物理系统的影响。例如,那些绑定到动力学(Kinematic)对象上的关节(Joint)会约束其他绑定到该对象上的刚体(Rigidbody),动力学刚体(Kinematic Rigidbody)在碰撞时会影晌其他的刚体。


http://chatgpt.dhexx.cn/article/N4GtODVW.shtml

相关文章

【Physics】一、Rigidbody 刚体

文章目录 1、刚体组件2、刚体脚本2.1、获取刚体2.2、添加力2.3、Move 点击访问官网 物理系统 、刚体概述 、 刚体 (Rigidbody) 1、刚体组件 刚体 (Rigidbody) 使游戏对象的行为方式受物理控制。刚体可以接受力和扭矩,使对象以逼真的方式移动。任何游戏对象都必须包…

Unity物理组件之刚体Rigidbody

一、刚体组件简介 1、刚体简介 刚体:Rigidbody,属于物理类组件 作用:添加了刚体组件的游戏物体,可以在物体系统的控制下来运动,刚体可接受外力和扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体…

【Untiy学习笔记】Rigidbody组件及其常用函数

前言 提示:声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦。 本文大部分内容来自官方文档&…

mac快速锁屏方法

方法一. 快捷键:controlcommandQ。 方法二. 点击左上角apple logo,锁定屏幕。 方法三(快捷方便). 系统偏好设置->调度中心->触发角->选一个角(左上、左下、右上、右下)->锁定屏幕或者将显示器…

mac修改cmd+ctrl+q锁定屏幕快捷键

mac里的cmdctrlq快捷键是系统快捷键,用作“锁定屏幕”: 这个快捷键优先级很高,导致无法设置其为其他应用快捷键(如qq)。 下面的方法可以把“锁定屏幕”改成其他快捷键,从而腾出cmdctrlq来给应用程序&#…

mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用

电脑快捷键可以帮助你提高工作效率,是使用电脑过程中经常用到的,苹果电脑的快捷键和普通PC不太一样,对于新手来说,经常找不到或不知道快捷键是什么,经常要去查,所以这边系统城小编跟大家介绍macbook快捷键的…

Mac提高效率的快捷键

分享常用的一些快捷键,欢迎补充,一起提高办公效率 目录 常用按键介绍系统管理关机和睡眠偏好设置触摸板、键盘和鼠标 窗口管理(最小化、关闭、退出)目录(文件夹)文本和文件操作撤销、重做复制、剪切全选查找…

mac系统修改锁屏快捷键

mac 自带了锁屏的快捷键,我忘了是什么了,点击屏幕左上角的苹果图标,就能看到。反正比较麻烦,没windows下方便,。 习惯了在windows下,按winL键来锁屏。在mac下,怎么改成commandL来锁屏呢? 方法…

macbook 常用键盘快捷键大全 mac os 苹果电脑

为了让刚开始使用 Mac 的新手更快地上手,特整理了这一份“最值得你记住的 Mac 常用快捷键列表”,希望可以帮助到大家更快地学习和查找 macOS 的键盘快捷键,以此提高 Mac 的操作效率…… 与 Windows 的差异 一切开始前,我们先来认识…

mac键盘快捷键大全

macos下都有哪些Mac 键盘快捷键呢?不少果粉抱怨高上大的macbook不好用,相比于之前习惯了Windows操作的用户们,转战到mac的阵营还真是会觉得不大习惯呢。觉得不好用的朋友很可能就在于你不知道mac的这些快捷键呐,下文小编就为大家整理好mac的一些常用快捷键,需要的朋友快去…

MacOS VSCode 常用快捷键配置

📌 2023-03-28 更新 VSCode 回到上一步光标位置 (macOS)默认快捷键: 回退上一次编辑:ctrl - 跳转下一次编辑位置:ctl shift - (建议修改)修改快捷键: 快捷键中搜索…

MAC OS常用快捷键一览

切换输入法:Cmd Space 截屏:Shift Cmd 3 部分截屏:Shift + Cmd + 4 屏幕反色快捷键:Option + Cmd + F5 (需要勾选反色选项) 复制/剪切/粘贴/全选&#xff…

Mac 键盘快捷键

Mac 键盘快捷键 您可以按下某些组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。 要使用键盘快捷键,请按住一个或多个修饰键,然后按快捷键的最后一个键。例如,要使用 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键…

苹果mac休眠快捷键_Mac电脑睡眠、退出登录和关机快捷键有哪些?技巧来啦!

有很多刚开始使用,甚至一些使用了很久Mac系统的人,可能不知道关机快捷键,只能通过点击屏幕左上角的苹果,然后选择其中的“关机”(Shut Down),然后在弹出的对话框中点击确认,才能实现整个关机的过程&#xf…

mac的快捷键(日常使用)

文章目录 1. 官方所有的快捷键1.1 剪切、拷贝、粘贴和其他常用快捷键1.2 睡眠、退出登录和关机快捷键1.3 访达和系统快捷键1.4 启动快捷键 2. 我日常使用的2.1 在访达中快速定位文件2.2 快速新建窗口2.3 其他 3. 常用软件快捷键3.1 word3.2 mac录屏3.3 重置应用3.4 hosts文件问…

苹果锁定计算机的快捷键,苹果电脑快捷键使用 Mac快捷键大全详细介绍

相信有很多刚开始使用苹果电脑操作系统的用户,都并不了解整个MAC操作系统,就连一般快捷键的使用都不清楚,这让人很感觉很苦恼。下面,小编就来向大家分享一下Mac快捷键大全的详细介绍,记住这些常用的快捷键,…

MacBook常用快捷键有哪些?

现在使用MacBook的小伙伴越来越多,为了让初次使用的新手和小白们更快地上手,小编为大家整理了这一些 Mac 常用快捷键,虽然都是比较基础的入门知识,但也能帮助到大家更快地学习和查找 macOS 的键盘快捷键,提高电脑的操作…

Electron 屏幕锁定 快捷键锁定 屏蔽快捷键

项目类似网吧的开机锁机应用。开机自动启动,锁定客户端键盘,锁定屏幕窗口,用户无法操作电脑,当输入正确的用户和密码,程序退出。 原项目为内网考勤使用,现在开源部分主要功能。 窗口锁定主要实现方式&…

Mac 上设置锁屏快捷键

设置 -> 键盘 -> 快捷键 -> App快捷键-> 新增 添加菜单名称为 锁定屏幕 , 快捷键在键盘上直接按就可以了。

【Mac使用系列】Mac锁屏及快捷键

mac锁屏办法,我有所尝试,可用系统自带锁屏快捷键:Ctrl Command Q 或者参考方法2,直接设置TouchBar。 这两种办法,亲测可用。我直接设置了TouchBar,锁屏解锁离得很近,比较方便。 -------------…