[유니티] UNITY Box Collider를 켜고, 끄는 코딩방법은 뭔가요?
안녕하세요. 오늘도 평화롭게 안개가 끼는 2022년 여름입니다.
Box Collider를 Inspector 창에서 체크를 하거나 해제해서 끄거나 켤수 있습니다.
하지만, 유니티로 안드로이드 어플리케이션을 만들때 오브젝트의 Box Collider 를 이동할 때만 잠시 끄고, 정지할 때 켜야 하는 상황에서는 코딩으로 처리할 수 밖에 없습니다. 다른 분들도 저와 비슷한 경험을 하신 분들이 있을 것 같습니다.
How??? 어떻게 하는지 알아보겠습니다.
Box Collider를 끌때
gameObject.GetComponent<BoxCollider>().enabled = true;
Box Collider를 켤때
gameObject.GetComponent<BoxCollider>().enabled = false;
간단하죠? ^^
그럼 오늘도 즐유~
[예시]=============================================

기본적인 시작은 Plane을 바닥에 깔고 사각 기둥과 큐브를 만들어서 위 그림처럼 두고,
위에 큐브에만 Rigidbody를 생성했습니다.
다들 아시겠지만,
충돌을 감지하기 위해서는 양쪽의 게임오브젝트 모두 콜라이더 컴포넌트가 있어야 하고,
충돌감지를 인식하려는 게임오브젝트에는 리지드바디(Rigidbody) 컴포넌트를 추가해야 합니다.

그리고 실행시키면 위 그림처럼 큐브가 아래로 떨어지면서 기둥과 부딪쳐 멈추게 됩니다.

이때 충돌 여부를 알기 위해서 큐브에 Script를 생성해서 충돌시에 상대 게임오브젝트의
이름을 아래와 같이 출력하도록 했습니다.

참고==============================================
OnCollisionEnter : 양쪽 게임오브젝트가 충돌이 일어날 경우 호출
OnCollisionStay : 양쪽 게임오브젝트가 충돌이 지속될 경우 호출
OnCollisionExit : 양쪽 게임오브젝트가 충돌이 끝난 경우 호출
=================================================
그럼! 실제로 동작여부를 확인하기 위해서 Script를 아래와같이 수정했습니다.
큐브가 아래 기둥과 충돌시에 큐브의 BoxCollider 를 Disable 되도록 했습니다.

그리고 나서 실행해보면 Box Collider 가 Disable되면서 아래 그림처럼
큐브의 BoxCollider 기능이 없어져서 큐브가 아래로 떨어지는 것을 확인할 수 있습니다..

*********************************************************************************
참고)
충돌감지만 하고 싶을 경우에는 Is Trigger 를 체크해 주어야 합니다.

이때 충돌감지를 위해서는 아래와 같이 Script를 변경해야 됩니다.

참고==============================================
OnTriggerEnter : 양쪽 게임오브젝트가 충돌이 일어날 경우 호출
OnTriggerStay : 양쪽 게임오브젝트가 충돌이 지속될 경우 호출
OnTriggerExit : 양쪽 게임오브젝트가 충돌이 끝난 경우 호출
=================================================
**********************************************************************************************
'유니티 프로그램' 카테고리의 다른 글
| [유니티] UNITY 플레이시간(타이머)을 다음 씬(SCENE)까지 끊김없이 흐르게 하려면 어떻게 해야 할까요? (0) | 2022.08.09 |
|---|---|
| [유니티] UNITY GameObject의 위치를 랜덤(random)하게 생성하려면 어떻게 하나요? (0) | 2022.08.01 |
| [유니티] UNITY 싱글톤패턴(Singleton Pattern)은 어떻게 쓰나요 (0) | 2022.07.26 |
| [유니티] UNITY 안드로이드 앱을 만들고 나서 시작할 때 자꾸만 180도로 화면이 회전합니다. (0) | 2022.07.11 |
| 유니티 프로그램에 대한 다양한 내용을 담을 블로그 입니다. (0) | 2022.07.07 |