물리엔진을 위한 충돌판정 조건은 2가지가 있는데
1. 둘중 하나는 리지드바디 컴포넌트가 있어야한다
2. 두 객체 모두 콜라이더가 있어야한다. 두 조건이 만족할시 충돌판정이 이루어진다
충돌에는 두가지의 종류가 있다
1. OnCollision 일반 충돌
-일반적인 콜라이더를 가진 두 게임 오브젝트가 충돌할때 자동실행.
-충돌한 콜라이더는 서로 통과하지 않고 밀어냄
OnCollisionEnter (Collosion collision) : 충돌한 순간
OnCollisionStay (Collosion collision) : 충돌하는 동안
OnCollisionExit (Collosion collision) : 충돌한뒤 분리되는 순간
2. OnTrigger 트리거 충돌
-두 오브젝트의 콜라이더 중 최소 하나가 트리거 콜라이더라면 자동으로 실행
-충돌시 서로 그대로 통과
OnTriggerEnter (Collider other) : 충돌한 순간
OnTriggerStay (Collider other) : 충돌하는 동안
OnTriggerExit (Collider other) : 충돌한뒤 분리되는 순간

두 오브젝트 중 하나 이상이 Is Trigger에 체크가 되어있어야 한다
private void OnTriggerEnter(Collider other)
{
if(other.tag == "Player")
{
PlayerControl playerControl = GetComponent<PlayerControl>();
if(playerControl != null)
{
playerControl.Die();
}
}
}
예제 - 부딫힌 오브젝트의 태그가 "Player"라면 PlayerControl 컴포넌트를 변수 playerControl에 집어넣은뒤
Die()함수를 시전한다
반응형
'유니티 > 유니티 공부' 카테고리의 다른 글
#2 유니티 엔진 동작 원리 (클래스,메서드,상속,컴포넌트, 브로드캐스팅, MonoBehavior) (0) | 2025.02.28 |
---|---|
#1 유니티 인터페이스 (Edit bounding volume, Flythrough) (1) | 2025.02.26 |
가까운 적 찾기 (2) | 2024.02.28 |
직렬화를 이용하여 저장 객체 저장 (1) | 2024.02.15 |
json 응용 (0) | 2024.02.14 |