Unity_충돌처리

2021. 10. 8. 22:45코딩

지난번 포스팅에서 오브젝트에 RigidBody를 추가해서 물리법칙을 적용하는 방법을 올렸습니다.

 

충돌처리를 문제없이 발생시키기 위해서는 충돌하는 오브젝트에 모두 Collider 가 있어야하고 동적으로 움직이는 오브젝트에 Rigidbody가 추가되어있어야합니다.

위와같이 Cube오브젝트에 BoxColider와 Rigidbody 를 추가하였고 BoxCollider의 경우 X축을 늘려줬습니다. 초록색으로 표시된 선이 콜라이더의 크기인데 이 크기를 수정하면서 충돌체의 크기를 수정 할 수 있습니다.

 

충돌을 처리하는 방법에는 2가지가 있는데 물리법칙을 이용한 Collision, 물리법칙을 무시하고 충돌을 감지하는 Trigger 가 있습니다. 이번포스팅에서는 Collision에 대해 알아보겠습니다.


Collison 에는 3가지의 종류가 있습니다.

Void OnCollisionEnter(Collision Collision)

Void OnCollisionStay(Collision Collision)

Void OnCollisionExit(Collision Collision)

첫번째 OnCollisionEnter(Collision Collision) 의경우는 충돌이 시작 될떄 밑의 코드블록을 실행합니다.

두번째 OnCollisionStay(Collision Collision)의 경우는 충돌이 되고 있을때 매 프레임마다 코드블록을 실행합니다.

세번째 OnCollisionExit(Collision Collision)의 경우는 충돌이 끝날때에 밑의 코드블록을 실행합니다.


이 코드를 활용하면 총알로 캐릭터를 맞출 수 도있고 달리던 자동차가 건물을 통과하지않고 부딪히게 만들 수 도 있습니다. 

 

다음 포스팅에서는 더 다양한 코드들을 소개하겠습니다.

'코딩' 카테고리의 다른 글

Unity_위치,회전,크기 조정  (0) 2021.10.13
Unity_충돌시 밀림 방지  (0) 2021.10.09
Unity_물리법칙 적용  (0) 2021.10.06
C#_좋은질문  (0) 2021.10.02
C# 소수점 자리수 정리  (0) 2021.10.01