ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 충돌판정
    유니티/유니티 메인 2024. 3. 4. 22:27

    물리엔진을 위한 충돌판정 조건은 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) 2024.02.28
    직렬화를 이용하여 저장 객체 저장  (1) 2024.02.15
    json 응용  (0) 2024.02.14
    레벨 디자인, Debug.DrawRay, RayCast, RayCastHit  (0) 2024.02.07
    3D(Terrian, 파티클, Ray 클래스)  (1) 2024.02.05
Designed by Tistory.