考虑到每个人基础可能不一样,且并不是所有人都有同时做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 |