Unity之2D碰撞器

1、什么是碰撞器

碰撞器是用于在物理系统中 表示物体体积的的(形状或范围)
刚体通过得到碰撞器的范围信息进行计算
判断两个物体的范围是否接触
如果接触 刚体就会模拟力的效果产生速度和旋转

2、参数

Edit Collider:编辑碰撞器

Material:一种物理材质,用于确定碰撞的属性,控制摩擦和弹性
Is Trigger:是否是触发器
Used By Effector:是否被附加的2D效应器使用

Used By Composite:将碰撞器附加到2D复合碰撞器

Auto Tiling:SpriteRenderer中DrawMode为Tile平铺模式时,碰撞器会跟随精灵大小改变

Edge Radius:使角变为圆角

3、复合碰撞器参数

(1)Geometry Type:几何学类型,合并碰撞体时,碰撞体顶点将组合为两种不同的几何体类型

Outlines:空心轮廓,类似边界碰撞器
Polygons:实心多边形,类似多边形碰撞器

(2)Generation Type:生成类型,复合碰撞器在何时生成新几何体

Synchronous:对2D复合碰撞器或使用的其它碰撞器修改时,Unity立即生成新几何体
Manual:手动生成新几何体,通过代码生成或者点击下发的Regenerate Geometry生成按钮

(3)Vertex Distance:从复合碰撞器收集顶点时允许的最小间距值

4、碰撞检测函数

    private void OnCollisionEnter2D(Collision2D collision)
    {
        //进入碰撞
    }

    private void OnCollisionExit2D(Collision2D collision)
    {
        //退出碰撞
    }

    private void OnCollisionStay2D(Collision2D collision)
    {
        //碰撞中
    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
        //触发
    }

    private void OnTriggerExit2D(Collider2D collision)
    {
        
    }

    private void OnTriggerStay2D(Collider2D collision)
    {
        
    }