【Unity3D】刚体组件Rigidbody

article/2025/10/19 15:51:09

1 前言

        刚体(Rigidbody)是运动学(Kinematic)中的一个概念,指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体。在 Unity3D 中,刚体组件赋予了游戏对象一些运动学上的属性,主要包括 Mass(质量)、Drag(阻力)、Angular Drag(角阻力)、Use Gravity(是否使用重力)、Is Kinematic(是否受物理影响)、Collision Detection(碰撞检测)、 Velocity(速度)、Force(受力)、Explosion Force(爆炸力)。没有刚体(RigidBody)组件,游戏对象之间可以相互穿透,不会产生碰撞。

        1)获取刚体组件

Rigidbody rig = GetComponent<Rigidbody>();

        2)刚体组件面板属性

  • Mass:物体的质量(默认以千克为单位)
  • Drag:物体受到的空气阻力大小
  • Angular Drag:物体旋转时,受到的旋转阻力大小转
  • Use Gravity:如果启用,物体将受到重力的影响
  • Is Kinematic:如果启用,物体将不会由物理引擎驱动,只能由其 Transform 组件操作
  • Interpolate:物体运动位置的插值器
  • Collision Detection:碰撞检测类型,当看到物体由于运动太快而穿墙时,可以增强碰撞检测频率,选择 Continuous 选项
  • Constraints:对刚体运动和旋转的限制,限制物体运动时在某个坐标轴上的分量保持不变
  • velocity:物体运动矢量速度
  • angularVelocity:物体运动角速度

        3)刚体组件方法

// 刚体受到的推力
public void AddForce(Vector3 force)
// 刚体受到的爆炸力,explosionForce:爆炸力大小,explosionPosition:爆炸点,explosionRadius:爆炸半径
public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius)

2 应用

2.1 应用一

        1)创建游戏对象

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

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

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

         3)添加 RigidbodyController 脚本

        RigidbodyController.cs 

using UnityEngine;public class RigidbodyController : MonoBehaviour {private Rigidbody rig;void Start () {rig = GetComponent<Rigidbody>();}void Update () {float hor = Input.GetAxis("Horizontal");float ver = Input.GetAxis("Vertical");float up = Mathf.Sqrt(hor * hor + ver * ver);if (up > 0.1) {rig.velocity = new Vector3(hor, up, ver);}}
}

        4)运行效果

        通过上下左右箭头键,控制立方体向四周的上空抬起,松开按键后,立方体由于受到重力作用掉落下来。

2.2 应用二

        1)添加 RigidbodyController 脚本

        在应用一的基础上,将 RigidbodyController 脚本修改如下:

        RigidbodyController.cs 

using UnityEngine;public class RigidbodyController : MonoBehaviour {private Rigidbody rig;void Start () {rig = GetComponent<Rigidbody>();}void Update () {float hor = Input.GetAxis("Horizontal");float ver = Input.GetAxis("Vertical");float up = Mathf.Sqrt(hor * hor + ver * ver);if (up > 0.1) {rig.AddForce(new Vector3(hor, 0, ver) * 10); // 添加推力}}
}

        2)运行效果

        通过上下左右箭头键,控制立方体受到来自四周的推力。

2.3 应用三

        1)创建游戏对象

        在应用一的基础上,创建 4 个 Cube 游戏对象,position 分别为:(0, 1, 2)、(0, 1, -2)、(-2, 1, 0)、(2, 1, 0),如下:

         给 4 个 Cube 游戏对象都添加 Rigidbody 组件和 RigidbodyController 脚本组件。

        2)添加 RigidbodyController 脚本

using UnityEngine;public class RigidbodyController : MonoBehaviour {private Rigidbody rig;void Start () {rig = GetComponent<Rigidbody>();}void Update () {if (Input.GetKeyDown(KeyCode.Space)) {// 在(0,0,0)坐标处添加10米范围内的300N的爆炸力rig.AddExplosionForce(300, Vector3.zero, 10);}}
}

         3)运行效果

        按空格键,4 个立方体受到来自中心的爆炸力。


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

相关文章

【Unity】11.2 刚体(Rigidbody)

分类&#xff1a;Unity、C#、VS2015 创建日期&#xff1a;2016-05-02 一、简介 Rigidbody&#xff08;刚体&#xff09;组件可使游戏对象在物理系统的控制下来运动&#xff0c;刚体可接受外力与扭矩力&#xff0c;使游戏对象像在真实世界中那样进行运动。 任何游戏对象&…

【Physics】一、Rigidbody 刚体

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

Unity物理组件之刚体Rigidbody

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

【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; 快捷键在键盘上直接按就可以了。