Layer 충돌 무시 2가지 종류
1. 에디터 Project Setting을 이용하는 방법
2. 스크립트를 사용하는 방법
에디터 Project Setting을 이용하는 방법
무시하고 싶은 Layer간에 체크를 해제해준다.
스크립트를 사용하는 방법(Physics.IgnoreLayerCollision)
using UnityEngine;
public class CollisionManager : MonoBehaviour
{
public void IgnoreCollision(string layer1, string layer2, bool ignore)
{
int layer1Index = LayerMask.NameToLayer(layer1);
int layer2Index = LayerMask.NameToLayer(layer2);
if (layer1Index == -1 || layer2Index == -1)
{
Debug.LogError("Invalid layer name provided.");
return;
}
Physics.IgnoreLayerCollision(layer1Index, layer2Index, ignore);
}
}
CollisionManager collisionManager = GetComponent<CollisionManager>();
collisionManager.IgnoreCollision("Player", "Enemy", true);
collisionManager.IgnoreCollision("Player", "Obstacle", false);
Physics.IgnoreLayerCollision함수를 이용해서 Layer간의 충돌을 Ignore할 수 있다.
매개인자값으로 true면 layer간 충돌을 무시하고,false이면 충돌을 무시하지 않는다.