考虑到每个人基础可能不一样,且并不是所有人都有同时做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物理系统中的刚体组件
- 2D物理系统中碰撞产生的条件
- Rigidbody2D刚体2D组件参数
-
- 1、Body Type 刚体类型
- 2、Dynamic 动态
- 3、Material 材质
- 4、Simulated 模拟的
- 5、Use Auto Mass 使用自动质量
- 6、Mass 质量
- 7、Linear Drag 线性阻尼
- 8、Angular Drag 角阻力
- 9、Gravity Scale 重力大小
- 10、Collision Detection 碰撞检测
- 11、Sleeping Mode 休眠模式
- 12、Interpolate 插值
- 13、Constraints 约束
- 14、Info 信息
- 15、Kinematic 运动
- 16、Simulated 模拟的
- 17、Use Full Kinematic Contacts 使用完全运动学联系
- 18、Static 静态
- 如何选择不同类型的刚体
- Rigidbody2D刚体2D代码控制
- 专栏推荐
- 完结
前言
学习2D刚体组件Rigidbody2d之前,建议先去学习之前我写过的【3D刚体组件Rigidbody】,因为它们非常的类似。由于我们之前详细讲解了3D物理系统,所以在讲解2D物理系统时会相对简洁一些,一些讲过的知识点就不过多赘述了。
2D物理系统中的刚体组件
- 刚体是物理系统中用于帮助我们进行模拟物理碰撞中力的效果的。
- 2D物理系统中的刚体和3D中的刚体基本是一样的,最大的区别是对象只会在XY平面中移动,并且只在垂直于该平面的轴上旋转。
2D物理系统中碰撞产生的条件
在Unity中,2D物理系统中碰撞产生的条件是:
- 两个物体都必须有Collider 2D组件,用于定义物体的形状和边界。
- 至少有一个物体必须有Rigidbody 2D组件,用于让物体受到物理引擎的控制。
- 两个物体的Layer必须在Physics 2D Settings中设置为可以相互碰撞。
- 两个物体的Collider 2D组件必须有相交或重叠的部分。
- 如果以上条件都满足,那么当两个物体接触时,就会产生碰撞,并触发相应的事件和回调函数,例如OnCollisionEnter2D,OnCollisionStay2D和OnCollisionExit2D。
- 碰撞产生后,物理引擎会根据两个物体的质量,速度,角速度,弹力和摩擦力等属性来计算碰撞的响应,并更新物体的位置和旋转。
- 如果需要自定义碰撞的响应,可以使用Physics Material 2D组件来调整弹力和摩擦力。