Unity物理组件之刚体Rigidbody

article/2025/10/19 11:51:28

一、刚体组件简介

1、刚体简介

刚体:Rigidbody,属于物理类组件

作用:添加了刚体组件的游戏物体,可以在物体系统的控制下来运动,刚体可接受外力和扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVIDIA物体引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件。没有刚体(RigidBody)组件,游戏对象之间可以相互穿透,不会产生碰撞。

2、给物体添加刚体组件

选中游戏物体-->菜单Component-->Physics-->Rigidbody

二、刚体组件属性

Mass: 质量

定义:该项用于设置游戏对象的质量,也就是重量。质量单位是KG(建议在同一个游戏场景中,游戏对象之间的质量差值不要大于100倍)

Drag: 阻力

定义:当对象受力运动时受到的空气阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止运动

Angular Drag: 角阻力

定义:当对象受扭矩力旋转时受到的空气阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止运动

Use Gravity: 使用重力

定义:若开启此项,游戏对象会受到重力的影响

Is Kinematic: 是否开启动力学

定义:若开启此项,游戏对象将不再受物体引擎的影响从而只能通过Transform(几何变换组件)属性来对其操作。该方式适用于模拟平台的移动或带有铰链关节链接刚体的动画

Interpolate: 插值

定义:该项用于控制刚体运动的抖动情况,有3项可供选择。

None:没有插值

Interpolate:内插值。基于前一帧的Transform来平滑此次的Transform

Extrapolate:外插值。基于下一帧的Transform来平滑此次的Transform

Collision Detection: 碰撞检测

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

Discrete: 离散碰撞检测。该模式与场景中其他的所有碰撞体进行碰撞检测。该项为默认值。

Continuous:连续碰撞检测。该模式用于检测与动态碰撞体(带有Rigidbody)的碰撞,使用连续碰撞检测模式来检测与网络碰撞体的(不带Rigidbody)碰撞。其他的刚体会采用离散碰撞模式。此模式适用于那些需要与采用连续动态碰撞检测的对象相碰撞的对象。这对物理性能会有很大的影响,如果不需要对快速运动的对象进行碰撞检测,就使用离散碰撞检测模式。

Continuous Dynamic:连续动态碰撞检测模式。该模式用于检测与采用连续碰撞模式或连续动态碰撞模式对象的碰撞,也可用于检测没有Rigidbody的静态网格碰撞体。对于与之碰撞的其他对象可采用离散碰撞检测,动态连续碰撞检测模式也可用于检测快速运动的游戏对象。

Constrains: 约束

定义:该项用于控制对于刚体运动的约束。

Freeze Position:冻结位置。刚体对象在世界坐标系中的X、Y、Z轴方向上(勾选状态)的移动将无效。

Freeze Rotation:冻结旋转。刚体对象在世界坐标系中的X、Y、Z轴方向上(勾选状态)的旋转将无效。

 三、使用刚体移动物体

1.相关方法

Rigidbody.MovePosition(Vector3):使用刚体移动物体的位置。

使用刚体移动物体,物体是根据世界坐标系的方向移动的。 使用刚体移动物体,物体会触发物理相关的事件。

2.参数

MovePosition 中的 Vector3 要使用“当前位置”+ 方向 的方式。

Transform.Position:属性 当前物体的位置。

3.特点

使用刚体移动物体,特点如下:

①会于场景中的模型物体发生碰撞;

②会受重力影响(到达场景边缘外,会下落)

四、应用

1)创建游戏对象

创建 Cube 和 Plane 游戏对象,如下:

2)给 Cube 游戏对象添加刚体组件

选中 Cube 游戏对象,点击 Add Component 按钮,搜索 Rigidbody,添加刚体组件。

3)添加 RigidbodyMove脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class RigidbodyMove : MonoBehaviour
{private Rigidbody m_rigidbody;private Transform m_transform;//Use this for initializationvoid Start(){m_rigidbody = gameObject.GetComponent<Rigidbody>();m_transform = gameObject.GetComponent<Transform>();}//Update is called once per framevoid Update(){if (Input.GetKey(KeyCode.W)){m_rigidbody.MovePosition(m_transform.position + Vector3.forward * 0.2f);}if (Input.GetKey(KeyCode.S)){m_rigidbody.MovePosition(m_transform.position + Vector3.back * 0.2f);}if (Input.GetKey(KeyCode.A)){m_rigidbody.MovePosition(m_transform.position + Vector3.left * 0.2f);}if (Input.GetKey(KeyCode.D)){m_rigidbody.MovePosition(m_transform.position + Vector3.right * 0.2f);}}}


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

相关文章

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

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

mac快速锁屏方法

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

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

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

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

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

Mac提高效率的快捷键

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

mac系统修改锁屏快捷键

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

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

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

mac键盘快捷键大全

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

MacOS VSCode 常用快捷键配置

&#x1f4cc; 2023-03-28 更新 VSCode 回到上一步光标位置 &#xff08;macOS&#xff09;默认快捷键&#xff1a; 回退上一次编辑&#xff1a;ctrl - 跳转下一次编辑位置&#xff1a;ctl shift - &#xff08;建议修改&#xff09;修改快捷键&#xff1a; 快捷键中搜索…

MAC OS常用快捷键一览

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

Mac 键盘快捷键

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

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

有很多刚开始使用&#xff0c;甚至一些使用了很久Mac系统的人&#xff0c;可能不知道关机快捷键&#xff0c;只能通过点击屏幕左上角的苹果&#xff0c;然后选择其中的“关机”(Shut Down)&#xff0c;然后在弹出的对话框中点击确认&#xff0c;才能实现整个关机的过程&#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快捷键大全详细介绍

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

MacBook常用快捷键有哪些?

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

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

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

Mac 上设置锁屏快捷键

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

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

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

乐视三合一体感摄像头开发(捡漏)笔记——100块要啥自行车

乐视三合一体感摄像头开发&#xff08;捡漏&#xff09;笔记 不久前在闲鱼上淘了一个乐视体感摄像头&#xff0c;这是乐视之前做的一款周边硬件&#xff0c;它当时是对标Kinect的&#xff0c;该有的结构一点不差&#xff0c;然而乐视凉凉之后&#xff0c;这个摄像头价格也从八…

乐视三合一体感摄像头LeTMC-520

这款体感摄像头其实就是奥比中光摄像头&#xff08;Orbbec Astra Pro&#xff09;的乐视版 1. 介绍 乐视三合一体感摄像头的各个功能模组分部图&#xff0c;包括两个MIC麦克风&#xff0c;一个红外投影模组&#xff0c;一个面部接近感知模组&#xff0c;一个RGB相机模组&…