충돌 감지 -1-
충돌 감지(Collision Detection)
- 두 오브젝트 사이의 충돌을 감지한다
- 두 2D 오브젝트가 2D Colliders를 가지고 있으면 자동적으로 Physics 2D 엔진이 충돌을 감지한다
충돌 해결(Collision Resolution)
- 충돌이 감지됐다는 전제 하에 어떤 행동을 한다
- 2D Physics 머터리얼을 추가하여 2D 물리 엔진이 충돌을 해결하는 방식을 조정할 수 있다
- 우리가 직접 충돌 해결을 구현할 수 있다 (스크립트를 통하여)
랜덤한 크기와 방으로 오브젝트 움직이기
- 최소 속도 MinImpulseForce, 최고 속도 MaxImpulseForce
- 각도의 범위는 0 ~ 2 π (= 0도 에서 360도)
Unity는 삼각함수를 구할 때 라디안 단위를 사용. 처음부터 라디안 단위 사용을 추천함
- x성분은 코사인을 사용하고, y성분은 사인을 사용하는 이유는 아래 사진을 참고 ↓
- magnitude느 최소 충격력과 최대 충격력의 범위를 설정함
- AddForce의 첫번째 인수는 Vector2D임. direction(Vector2D) * magnitude(float) 는 Vector2D
게임 오브젝트가 게임 화면 속에서 영원하기를 바래요
- Box Collider 2D 선택
→ 오브젝트(곰돌이)가 박스 모양이기 때문에 콜리더도 박스로 선택
- 녹색 박스선이 충돌기
- 콜라이터 박스는 조정이 가능함
- 엣지 콜라이더를 가장자리에 배치해야 오브젝트가 뷰의 가장자리에 충돌이 됨
(박스 콜라이더는 오브젝트와 겹쳐서 진작 충돌이 됨)
위의 과정을 하면 오브젝트가 밖으로 나가지는 않지만 가장자리에서 질질 끌림
(= 가장자리에 충돌해도 통통튀지않음)