Unity的选择碰撞--碰撞矩阵(Collision Matrix)

上一篇博文上主要结合了射线检测以及LayerMask实现射线检测的选择性,这次介绍一下Unity的内置碰撞矩阵(Collision Matrix)实现碰撞体之间的选择碰撞。

首先新建场景,创建两个Cube以及一个Panel,给两个Cube加入BoxCollider,Rigidbody以及加入不同的Material以区分显示,给三个物体加上LayerMask分别为RedCube,BlueCube以及Panel

Unity的选择碰撞--碰撞矩阵(Collision Matrix)_第1张图片

Unity的选择碰撞--碰撞矩阵(Collision Matrix)_第2张图片

并打开Edit–>Project Settings–>Physics,打开碰撞矩阵
Unity的选择碰撞--碰撞矩阵(Collision Matrix)_第3张图片

修改为
Unity的选择碰撞--碰撞矩阵(Collision Matrix)_第4张图片


运行效果:
Unity的选择碰撞--碰撞矩阵(Collision Matrix)_第5张图片

可以看到RedCube跟Panel发生碰撞而BlueCube忽视跟Panel碰撞,这里回顾一下修改后的碰撞矩阵可以知道,我们已经取消了Panel层跟BlueCube层的碰撞,所以产生了这种效果。

使用场景:合金弹头的玩家跟地面能发生碰撞,但不能跟自己发射的子弹和敌人发生碰撞,敌人的机制跟玩家一样。

这篇的博文就到这里,我们下一期再见!

你可能感兴趣的:(Unity,unity)