4일차 - 적 캐릭터와 플레이어 충돌처리하기
player를 선택하고 Inspector View에서 Add Component를 클릭해서 Rigidbody2D와 Circle Collider 2D 를 달아주고, Circle Collider에서는 Is Trigger를 체크해주고 Rigidbody 2D에서는 Is Kinematic을 체크해줍시다.
Circle Collider 2D는 2D형식의 원형 충돌체를 설정해주겠다는 의미입니다. 충돌하기 위해서는 충돌할 모양이 필요하기 때문의 그 모양을 설정해 주는것입니다. 원 이외에도 여러가지 모양이 있습니다. Is Trigger 옵션은 실제로 충돌로 인한 물리효과를 주지 않고 충돌신호만 받겠다는 의미입니다.
Rigidbody 2D는 강체 물리엔진을 적용하겠다는 의미입니다. 충돌을 인식하기 위해서는 물리적 계산이 필요하기 때문에 달아줍니다. Is Kinematic은 외부의 힘에 작용하지 않겠다는 의미로 Rigidbody가 달린 강체끼리와의 충돌만을 인식하며, 외부의 힘의 일종인 중력에도 작용하지 않게 됩니다.
Enemy 객체도 비슷하게 적용해줍니다. Box Collider 2D를 적용한다는 것에 주의해주세요.
충돌체를 구별하기 위해 태그를 등록해서 달아줍시다.
Tag는 오브젝트를 분류하는 기능입니다.
void OnTriggerEnter2D(Collider2D other)
//rigidBody가 무언가와 충돌할때 호출되는 함수 입니다.
//Collider2D other로 부딪힌 객체를 받아옵니다.
{
if (other.gameObject.tag.Equals("Enemy"))
//부딪힌 객체의 태그를 비교해서 적인지 판단합니다.
{
Destroy(other.gameObject);
//적을 파괴합니다.
Destroy(this.gameObject);
//자신을 파괴합니다.
}
}
부딪히면 사라지는 것을 볼 수 있습니다.