콜라이더(Collider)
- Collider는 게임 오브젝트의 컴포넌트 중 하나이다.
- Collider는 물리 충돌 처리를 위한 오브젝트의 형태를 정의한다.
- Collider는 게임시 눈에 보이지 않는 요소이므로 오브젝트와 정확하게 동일한 모양일 필요는 없다.
- Collider와 유사한 물리 충돌 처리를 위한 개념으로 Trigger가 존재한다.
- Collider는 두 물체가 맞부딪쳤을 때, 서로 튕겨나가지만 Trigger의 경우 충돌하지 않고 통과된다.
- Collider과 Trigger 모두 충돌 시 일어날 때 발생할 상황을 스크립트 코드로 작성이 가능하다.
- 3D에서는 박스 콜라이더, 스피어 콜라이더, 캡슐 콜라이더를 사용할 수 있다.
- 2D에서는 박스 콜라이더2D와 써클 콜라이더2D를 사용할 수 있다.
- 정교한 Collider를 만들기 위해 한 게임오브젝트에 여러개의 Collider를 생성하는 것도 가능하다.
OnCollisionEnter()
(예제)
void OnCollisionEnter2D(Collision2D other)
{
if (other.collider.tag == "YELLOW")
{
print("노란색이당~");
} else if(other.collider.tag == "BLUE")
print("파란색이당~");
}
이렇게 하면, 두 물체가 서로 부딪히는 순간(콜라이더가 만나는 순간) 호출하게 된다.
즉,
태그가 YELLOW인 물체에 닿게 되면 노란색이당~
태그가 BLUE인 물체에 닿게 되면 파란색이당~
이 콘솔에 뜨게 된다.
void OnTriggerEnter2D(Collider2D other)
{
if (other.collider.tag == "YELLOW")
{
print("노란색이당~");
} else if(other.collider.tag == "BLUE")
print("파란색이당~");
}
q