【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D刚体组件Rigidbody

news2025/3/16 12:36:06

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

文章目录

  • 前言
  • 一、Rigidbody的介绍
    • 1、Rigidbody 是什么?
    • 2、Rigidbody 的作用
    • 3、怎么给物体添加 Rigidbody?
    • 4、Rigidbody参数介绍
  • 二、Collision Detection(碰撞检测)
    • 1、**Discrete(离散)**
      • 适用场景
    • 2、**Continuous(连续)**
      • 适用场景
    • 3、**Continuous Dynamic(连续动态)**
      • 适用场景
    • 4、**Continuous Speculative(连续推测)**
      • 适用场景
    • 性能消耗关系
    • 总结
  • 三、刚体加力
    • 1、获取刚体组件
    • 2、添加力
      • 2.1 正方向加了一个力
      • 2.2 添加扭矩力,让其旋转
      • 2.3 直接改变速度
      • 2.4 模拟爆炸效果
    • 3、ForceMode 力的模式
    • 4、Constant Force力场脚本
  • 四、刚体的休眠
    • 1、刚体休眠存在的原因
    • 2、解决刚体休眠问题
  • 专栏推荐
  • 完结

前言

Unity 3D物理系统中的刚体组件 (Rigidbody) 是控制物体在物理世界中如何运动的关键组件。它使物体受力、重力、碰撞等物理影响,从而模拟出真实的运动行为。

一般默认重力是-9.81,可以前往项目设置修改默认值
在这里插入图片描述

两个物体要发生碰撞,必须满足:(重要

  • 两个物体都有 Collider(碰撞器)。
  • 至少一个物体有 Rigidbody。

一、Rigidbody的介绍

1、Rigidbody 是什么?

Rigidbody 是 Unity 中的一个组件,它的作用是让物体能够受到物理规则的影响。比如:

  • 物体会因为重力掉下来。

  • 物体可以被推动、旋转,或者和其他物体碰撞。

如果没有 Rigidbody,物体就像“幽灵”一样,不会受到任何物理影响,只能通过代码手动控制它的位置和旋转。

2、Rigidbody 的作用

  • 重力:让物体掉下来(比如一个球从高处落下)。

  • 碰撞:让物体可以和其他物体发生碰撞(比如球撞到墙会弹回来)。

  • 受力:让物体可以被推动(比如用代码给物体一个力,让它飞出去)。

3、怎么给物体添加 Rigidbody?

  • 选中你的物体(比如一个立方体或球)。

  • 在右侧的 Inspector 窗口,点击 Add Component。

  • 搜索 Rigidbody,然后点击添加。

4、Rigidbody参数介绍

在这里插入图片描述

参数 含义 功能
Mass 质量 物体的质量。质量越大惯性越大。
Drag 线性阻尼 空气阻力。0表示没有空气阻力,较高的值会产生更快的衰减速率。
Angular Drag 角阻尼 旋转空气阻力。0表示没有旋转空气阻力, 极大时使物体立即停止旋转。
Automatic Center Of Mass 自动质心 启用以使用物理系统根据刚体的形状和比例预测的刚体质心。禁用可设置您自己的质心 X、Y 和 Z 坐标。
Automatic Tensor 自动张量 启用以使用物理系统对刚体的预测张量和张量旋转,基于所有连接的 colliders .与质量一样,惯性张量定义使刚体移动所需的力或扭矩;但是,质量影响线性运动,而惯性张量影响旋转运动。禁用 可改为张量设置您自己的 X、Y 和 Z 坐标(请参阅下面的属性)。
Use Gravity 使用重力 切换 Rigidbody 上的重力效果。如果启用,物理系统将施加一个力,使游戏对象沿模拟重力的方向移动(默认情况下,沿 y 轴向下移动)。默认情况下,Use Gravity 处于启用状态。
Is Kinematic 是运动学的 在游戏对象的基于物理的运动和运动之间切换。启用 Is Kinematic 后,物理系统无法施加力来移动或旋转游戏对象,而 Unity 只能通过其 Transform 移动和旋转游戏对象。
Interpolate 插值 物体运动插值模式,让刚体物体移动更平滑。当发现刚体运动时抖动,可以尝试下面的 选项:None(无),不应用插值;Interpo

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

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

相关文章

55年免费用!RevoUninstaller Pro专业版限时领取

今天,我要给大家介绍一款超给力的卸载工具——RevoUninstaller Pro。这是一款由保加利亚团队精心打造的专业级卸载软件,堪称软件卸载界的“神器”。 RevoUninstaller分为免费版和专业版。专业版功能更为强大,但通常需要付费才能解锁全部功能。…

基于ensp的IP企业网络规划

基于ensp的IP企业网络规划 前言网络拓扑设计功能设计技术详解一、网络设备基础配置二、虚拟局域网(VLAN)与广播域划分三、冗余协议与链路故障检测四、IP地址自动分配与DHCP相关配置五、动态路由与安全认证六、广域网互联及VPN实现七、网络地址转换&#…

谷歌Chrome或微软Edge浏览器修改网页任意内容

在谷歌或微软浏览器按F12,打开开发者工具,切换到console选项卡: 在下面的输入行输入下面的命令回车: document.body.contentEditable"true"效果如下:

初探大模型开发:使用 LangChain 和 DeepSeek 构建简单 Demo

最近,我开始接触大模型开发,并尝试使用 LangChain 和 DeepSeek 构建了一个简单的 Demo。通过这个 Demo,我不仅加深了对大模型的理解,还体验到了 LangChain 和 DeepSeek 的强大功能。下面,我将分享我的开发过程以及一些…

【Linux】进程(1)进程概念和进程状态

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、什么是进程 二、task_struct的内容 三、Linux下进程基本操作 四、父进程和子进程 1. 用fork函数创建子进程 五、进程状态 1. 三种重…

关闭win11根据内容自动调整屏幕亮度

在win11笔记本上使用编程软件的时候,用的是深色背景,但是屏幕会慢慢变暗;等切换回明亮的桌面时,又会慢慢变亮,带来不适应的感觉。这个博客记录一下解决这个问题的办法 ps:有些人修改的是电源选项&#xff…

2021-05-23 C++百元百鸡

此是草稿,有值得优化的地方,如从公鸡先循环再母鸡再小鸡这样可以提高效率,且有输出后也可优化为公鸡母鸡小鸡初始化。 void 百元百鸡() {//缘由https://ask.csdn.net/questions/7434093?spm1005.2025.3001.5141int xj 1, mj 1, gj 1, y …

Android自动化测试工具

细解自动化测试工具 Airtest-CSDN博客 以下是几种常见的Android应用自动化测试工具: Appium:支持多种编程语言,如Java、Python、Ruby、JavaScript等。可以用于Web应用程序和原生应用程序的自动化测试,并支持iOS和Android平台。E…

【蓝桥杯】24省赛:数字串个数

思路 本质是组合数学问题: 9个数字组成10000位数字有9**10000可能 不包括3的可能8**10000 不包括7的可能8**10000 既不包括3也不包括77**10000 根据容斥原理:结果为 9 ∗ ∗ 10000 − 8 ∗ ∗ 10000 − 8 ∗ ∗ 10000 7 ∗ ∗ 10000 9**10000 - 8**10…

SpringBoot中使用kaptcha生成验证码

简介 kaptcha是谷歌开源的简单实用的验证码生成工具。通过设置参数&#xff0c;可以自定义验证码大小、颜色、显示的字符等等。 Maven引入依赖 <!-- https://mvnrepository.com/artifact/pro.fessional/kaptcha --><dependency><groupId>pro.fessional<…

蓝桥杯嵌入式赛道复习笔记1(led点亮)

前言 基础的文件创建&#xff0c;参赛资源代码的导入&#xff0c;我就不说了&#xff0c;直接说CubeMX的配置以及代码逻辑思路的书写&#xff0c;在此我也预祝大家人人拿国奖 理论讲解 原理图简介 1.由于存在PC8引脚到PC15引脚存在冲突&#xff0c;那么官方硬件给的解决方案…

六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、知识讲解 1. Hooks 是什么&#xff1f; 2. useState 的作用 3. 基本语法解析 4. 工作原理 5. 参数详解 a) 初始值设置方式 b) 更新函数特性 6. 注意事项 7. 类组…

芯科科技推出的BG29超小型低功耗蓝牙®无线SoC,是蓝牙应用的理想之选

具有扩大的内存和超低功耗特性的超小型BG29是互联健康设备的理想之选 低功耗无线领域内的领导性创新厂商Silicon Labs&#xff08;亦称“芯科科技”&#xff0c;NASDAQ&#xff1a;SLAB&#xff09;今日宣布&#xff1a;推出全新的第二代无线开发平台产品BG29系列无线片上系统…

export、export default 和 module.exports 深度解析

文章目录 1. 模块系统概述1.1 模块系统对比1.2 模块加载流程 2. ES Modules2.1 export 使用2.2 export default 使用2.3 混合使用 3. CommonJS3.1 module.exports 使用3.2 exports 使用 4. 对比分析4.1 语法对比4.2 使用场景 5. 互操作性5.1 ES Modules 中使用 CommonJS5.2 Com…

qwen2.5-vl多机多卡分布式部署

记录一下工作中进行多机多卡部署qwen2.5-vl多模态大模型踩过的坑 第一个天坑就是官方提供的镜像qwenllm/qwenvl:2.5-cu121有问题&#xff0c;在titan显卡会抛出cuda error:no kernel image is availabe for execution on the device. 这是cuda内核与GPU不兼容的问题&#xff0c…

【红黑树】—— 我与C++的不解之缘(二十五)

前言 学习了avl树&#xff0c;现在来学习红黑树。 一、什么是红黑树 红黑树是一颗平衡二叉搜索树&#xff0c;它每一个节点增加了一个存储位表示节点的颜色&#xff0c;可以是红色或者黑色。 相比较于AVL树&#xff0c;红黑树也是一个自平衡二叉搜索树&#xff0c;但是它与AVL树…

驾驭 DeepSeek 科技之翼,翱翔现代学习新天际

在当今这个信息爆炸的时代&#xff0c;学习的方式和途径正在经历着前所未有的变革。人工智能技术的飞速发展&#xff0c;为我们的学习带来了全新的机遇和挑战。DeepSeek 作为一款强大的大语言模型&#xff0c;凭借其卓越的性能和丰富的功能&#xff0c;为现代学习注入了新的活力…

DeepSeek本地部署 (Windows+Ollama+Docker Desktop+ RAGFlow)

适用场景&#xff1a; 1、商城的小机器人自动根据实际情况回复 2、需要7*24小时运行在线回复&#xff0c;如&#xff1a;在线购物、在线咨询、在线招生等 3、无人值守环境 2025年1月&#xff0c;DeepSeek 正式发布 DeepSeek-R1 推理大模型&#xff0c;DeepSeek-R1 成本价格低…

SPI驱动(八) -- SPI_DAC设备驱动程序

文章目录 参考资料&#xff1a;一、编写设备树二、 编写驱动程序三、编写测试APP四、Makefile五、上机实验 参考资料&#xff1a; 参考资料&#xff1a; 内核头文件&#xff1a;include\linux\spi\spi.h内核文档&#xff1a;Documentation\spi\spidevDAC芯片手册&#xff1a;…

MySQL 衍生表(Derived Tables)

在SQL的查询语句select …. from …中&#xff0c;跟在from子句后面的通常是一张拥有定义的实体表&#xff0c;而有的时候我们会用子查询来扮演实体表的角色&#xff0c;这个在from子句中的子查询会返回一个结果集&#xff0c;这个结果集可以像普通的实体表一样查询、连接&…