考虑到每个人基础可能不一样,且并不是所有人都有同时做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篇大概率就不需要看了,节约学习时间成本。
文章目录
- 前言
- 一、2D物理系统碰撞触发必要条件
- 1、碰撞器组件
- 2、刚体组件要求
- 3、层级碰撞设置
- 4、几何相交检测
- 二、Rigidbody2D组件
- 1、Body Type 刚体/身体类型
- 1.1 Dynamic 动态
- (1)Material 材质
- (2)Simulated 模拟的
- (3)Use Auto Mass 使用自动质量
- (4)Mass 质量
- (5)Linear Drag 线性阻尼
- (6)Angular Drag 角阻力
- (7)Gravity Scale 重力大小
- (8)Collision Detection 碰撞检测
- (9)Sleeping Mode 休眠模式
- (10)Interpolate 插值
- (11)Constraints 约束
- (12)Info 信息
- 1.2 Kinematic 运动
- (1)Simulated 模拟的
- (2)Use Full Kinematic Contacts 使用完全运动学联系
- 1.3 Static 静态
- 2、如何选择不同类型的刚体类型
- 3、代码控制
- 专栏推荐
- 完结
前言
学习2D刚体组件(Rigidbody2D)之前,建议先去看看我之前写的【3D刚体组件Rigidbody】,因为它们非常的类似。这里一些讲过的知识点就不过多赘述了。
2D物理系统中的刚体组件
- 刚体是物理系统中用于帮助我们进行模拟物理碰撞中力的效果的。
- 2D物理系统中的刚体和3D中的刚体基本是一样的,最大的区别是对象只会在XY平面中移动,并且只在垂直于该平面的轴上旋转。
一、2D物理系统碰撞触发必要条件
1、碰撞器组件
- 双方物体必须都持有 Collider 2D 组件(如 BoxCollider2D, CircleCollider2D 等)
- 用于定义物体的物理形状和碰撞边界
2、刚体组件要求
- 至少一个物体需附加 Rigidbody2D 组件
- 注意:若双方均为静态刚体(
Body Type = Static
),不会触发物理碰撞响应
3、层级碰撞设置
- 双方物体的Layer需在 Physics 2D Settings(菜单:Edit > Project Settings > Physics 2D)中设置为可交互
- 默认新层未配置时会继承项目初始设置
4、几何相交检测
- 碰撞器之间需存在实际相交或重叠区域
- 可通过
Collider2D.IsTouching()
方法检测实时接触状态