유니티

유니티 입문 - 3 콜라이더

당혜성 2025. 5. 1. 20:28

Collider = 충돌과 관련된거
Edit Collider = 실제 충돌 범위
Size = 충돌 범위 설정
Center = 콜라이더 중심 위치 바꾸는 설정
Is Trigger = 방아쇠, 충돌만 감지

Physic Meterial = 탄성도 관련 메테리얼
Bounciness = 탄성도 부여
Bounce Combine = 탄성도 최대, 최소, 평균
Dynamic Friction = 마찰 부여
Friction Combine = 마찰 최대, 최소, 평균

키를 누르고 있어도 한 번만 발동

if (Input.GetKeyDown(KeyCode.W))


col.boundscenter = Transform의 y축 값 + box collider의 center 사이즈 값
col.bounds.extents = size의 반의 값
col.bounds.extents.x = x의 값
col.size = size의 값
col.center =  Rotation의 값

마우스 좌클릭 누르면 움직여 지는 코드 큐브만 적용 가능

if (Input.GetMouseButtonDown(0))
{
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hitInfo;
    if(col.Raycast(ray, out hitInfo, 1000))
    {
        this.transform.position = hitInfo.point;
    }
}



Is Trigger를 선택한 상태에서 다른 콜라이더가 들어오면 발동되는 함수

private void OnTriggerEnter(Collider other)
{
    
}



나갈때 호출되는거

private void OnTriggerExit(Collider other)
{
    
}



머물면 호출 되는거

 private void OnTriggerStay(Collider other)
 {
     
 }



콜라이더끼리 부딪히면 z축으로 0.01씩 움직임

 private void OnTriggerStay(Collider other)
 {
     other.transform.position += new Vector3(0, 0, 0.01f);
 }


콜라이더끼리 충돌이 끝나면 y축으로 2 올라감

private void OnTriggerExit(Collider other)
{
    other.transform.position = new Vector3(0, 2, 0);
}

'유니티' 카테고리의 다른 글

유니티 입문 - 5 카메라  (0) 2025.05.01
유니티 입문 - 4 메테리얼  (0) 2025.05.01
유니티 입문 - 2 리지드 바디  (0) 2025.05.01
유니티 입문 - 1 트랜스폼  (0) 2025.05.01
유니티 - 게임 인터페이스, UGUI 기초  (0) 2025.04.05