目录
官方帮助手册
我用的Unity版本
2D碰撞体的作用
2D碰撞体的类型
Box Collider 2D 盒型碰撞体
1 Edit Collider 编辑边框
2 Material 材质
3 Is Trigger 触发器开关
4 Used By Effector 效应器开关
5 Used By Composite 混合开关
6 Auto Tiling 自动适应瓦片平铺
7 Offset 偏移调整
8 Size 边界调整
9 Edge Radius 棱角半径
Circle Collider 2D 圆形碰撞体
1 Edit Collider 编辑边框
6 Raidus 半径
其余属性跟Box Collider 2D相同
Edge Collider 2D 边缘碰撞体
1 Edit Collider 编辑边框
7 Points 点信息
其余属性跟Box Collider 2D相同
Polygon Collider 2D 多边形碰撞体
1 Edit Collider 编辑边框
其余属性跟Box Collider 2D相同
Capsule Collider 2D 胶囊碰撞体
Composite Collider 2D 复合碰撞体
5 Geometry Type 几何类型
6 Generation Type 发生变化时的几何形状
7 Vertex Distance 顶点距离限值
8 Offset Distance 偏移距离限值
其余属性跟Box Collider 2D相同
Custom Collider 2D 自定义碰撞体
Tilemap Collider 2D 瓦片地图碰撞体
2D 碰撞体 - Unity 手册
2021.3
通过搜索可以看到,1D碰撞体都有以下8种类型。
它就是一个矩形的碰撞盒。
可以在Scene视图中调整碰撞体的边框,边框是个矩形box。
关联材质,默认是一个2D物理材质Physics Material 2D,用来调整2D物理对象碰撞时这些对象之间的摩擦和弹性。
Assets -> create -> 2D -> Physics Material 2D就可以新建一个Physics Material 2D,默认的摩擦系数Friction -> 0.4,弹性Bounciness -> 0.
选中后,这个2D碰撞体会作为触发器运行,那么什么叫触发器?可以看看我的另一篇文章:Unity学习-触发器 Trigger_flashinggg的博客
如果该碰撞体使用Effectors 2D——2D效应器,需要勾选这个选项使碰撞效应生效。可以发现这里提到的2D效应器组件是需要和2D碰撞体结合使用的,关于效应器可以先看看这篇文章:【Unity】Unity 2D游戏开发(二)Effectors 2D碰撞效应器
如果该碰撞体使用Composite Collider 2D——2D复合碰撞体,勾选这个选项之后碰撞体的其他属性会被忽略,把复合碰撞体的属性作为该碰撞体的属性。
2D 复合碰撞体 (Composite Collider 2D) - Unity 手册
当精灵渲染器(Sprite Renderer)的Draw Mode设置为Tiled时,勾选Auto Tiling可以自动适应Sprite的平铺。
关于精灵渲染器可以先看看官方的文档,精灵渲染器 (Sprite Renderer) - Unity 手册,后续我会在进行学习。
和Size一起,用于调整碰撞体的位置。
和Offset一起,用于调整碰撞体的位置。
控制边缘周围的半径,是顶点为圆形。(目前不太清楚这个参数对于Box Collider的影响)
可以在Scene视图中调整碰撞体的边框,边框是个圆形。
改变碰撞体尺寸。
可以在Scene视图中调整碰撞体的边框,自己框出轮廓,这个轮廓无需完全包围一个区域,可以是直线也可以是L形。
轮廓点的一些信息。
可以在Scene视图中调整碰撞体的边框,边框初始是自动根据轮廓贴合的,可以自己修改。与Edge Collider不同的是,这个多边形碰撞体的边缘必须完全包围一个区域。
胶囊碰撞体是由两个半球体与一个圆柱体相连构成的,就跟胶囊的样子差不多,适用于柱状物。
胶囊碰撞体(CapsuleCollider) - Sun‘刺眼的博客 - 博客园 (cnblogs.com)
2D 复合碰撞体 (Composite Collider 2D) - Unity 手册
这个碰撞体没有固定的形状,在上述的盒型碰撞体Box Collider和多边形碰撞体Poly Collider都有一个属性——Used By Composite,选这个选项后,2D复合碰撞体将合并他们的形状。
合并后,所选碰撞体的顶点组合成两种不同的几何类型:
(这部分不是很明白可以用来干什么,先记录下来吧。)
设置一个值,用以规范从碰撞器中收集的任何顶点所允许的最小间距,可以用来控制定点组合的有效分辨率。
类似于Vertex Distance
需要用到PhysicalShape2D以实现自定义,具体看:
Custom Collider 2D - Unity 手册
为同一个游戏对象上的Tilemap组件的每一个瓦片生成碰撞体,当创建一个Tilemap Collider 2D时,会自动创建一个Tilemap组件:
关于该组件的优化:unity2d Tilemap Collider优化 - 知乎 (zhihu.com)
以及该组件的介绍:瓦片地图 2D 碰撞体 (Tilemap Collider 2D) - Unity 手册