Today Mini Learned :

기록하는 습관 들이기

STUDY - 공부기록/Unity

[유니티] [인프런] 게임 개발일지 (5) - 오브젝트의 물리와 충돌

얌챠 2020. 8. 27. 21:36
[Inflearn] 고박사님의 "따라하면서 배우는 고박사의 유니티 기초" 수강기

 

오늘 들은 강의는,

[2D] 게임오브젝트 물리와 충돌
오브젝트의 충돌 처리하기, 충돌 시의 이벤트 함수들

Rigidbody Component

오브젝트의 물리와 중력 표현

추가하기만 하면 중력은 바로 적용되지만, 다른 오브젝트와의 상호작용이 필요한, 마찰과 같은 경우 Collider2D필요

Collider2D Component

오브젝트의 충돌 범위 표현

Offset - 충돌 범위 중심점

Circle Collider : 연산 속도 제일 빠름

Edge Collider : 점의 개수와 점의 위치로 곡선이 표현가능하고 이를 통해 바닥 충돌에 사용함

Polygon Collider : 다양한 모양 나타낼 수 있고 점으로 모양 수정 가능

Capsule Collider : 캡슐 모양, 사람 형태의 캐릭터에 주로 사용

Composite Collider : "Used By Composite"가 설정되어있는 자식 오브젝트들의 Collider들을 합쳐줌

 

 

두 오브젝트의 충돌

[조건] 둘다 Collider2D Component를 가지며, 하나 이상이 Rigidbody2D Component를 가지고 있어야 충돌이 이루어짐

 

* 충돌 (장애물)

private Rigidbody2D rigid2D;   //선언
rigid2D = GetComponent<Rigidbody2D>();   //객체 생성
rigid2D.velocity = new Vector3(x, y, 0) * moveSpeed;   //사용

다음과 같이 Rigidbody2D 객체를 사용해서 조절이 가능함

 

* 충돌 시의 이벤트 1 - 충돌

OnCollisionEnter2D(Collision2D collision) : 충돌 시 호출

OnCollisionStay2D(Collision2D collision) : 충돌 후 닿아있는 매 프레임마다 호출

OnCollisionExit2D(Collision2D collision) : 충돌 종료 시 호출

이 함수들의 매개변수 Collision2D collision은 부딪힌 상대 오브젝트

 

SerializeField

[SerializeField]
private Color color;

변수 위에 작성해서 Inspector View에서 변수의 옵션들을 조절 가능하게 해줌!

 

* 충돌 시의 이벤트 2 - 충돌없이

함수들의 매개변수 Collision2D collision은 부딪힌 상대 오브젝트

 


오늘의 수강 인증✔