게임오브젝트와 게임오브젝트 간에 부딛치거나 통과하는 것에 대해서 두가지 정도의 체크 방법이 있습니다.
C#에서 이벤트 함수인 OnTriggerEnter2D, OnCollisionEnter2D 입니다.
두가지 방식을 사용하려면 아래 사항이 적용되어 있는지 확인합니다.
게임오브젝트 중 하나에 물리법칙 컴포넌트 추가합니다.
Rigidbogy 2D 컴포넌트가 추가되면 Square 게임오브젝트가 밑으로 떨어집니다. 떨어지지 않게 하려면 Rigidbody 2D > Body Type 에서 Kinematic을 선택합니다. 그러면 물리법칙이 적용되지 않습니다.
게임오브젝트 중 하나에 물리법칙 컴포넌트 추가합니다.
게임오브젝트에 Collider 영역 추가
Collider 컴포넌트의 isTrigger 체크
Polygon Collider 2D 컴포넌트에는 is Trigger 항목이 있습니다. Collider의 is Tirgger를 체크합니다.
실행하고 게임오브젝트와 게임오브젝트에 있는 Collier가 서로 겹치면서 지나갈 때 OnTriggerEnter2D 이벤트가 발생합니다.
private void OnCollisionEnter2D(Collision2D collision)
{
}
Rigidbody 2D > Body Type 에서 Kinematic을 선택하면 밑으로 떨어지지 않고 화살표키로 게임오브젝트를 움직일 수 있습니다. 물리법칙이 적용되지 않습니다
Rigidbody 2D 를 추가하면 Body Type이 기본으로 Dynamic으로 선택됩니다. 물리법칙이 추가되어서 게임오브젝트가 밑으로 떨어집니다. 떨어질 때 Collider가 적용되어 있는 게임오브젝트에 부딛치면 더 이상 내려가지 않고 멈춥니다. 게임오브젝트가 게임오브젝트에 부딛칠 때 OnCollisionEnter2D 이벤트가 발생합니다.
'유니티' 카테고리의 다른 글
[유니티 2D] 게임오브젝트 드래그 움직이기 (0) | 2024.03.10 |
---|---|
[유니티 2D] 배경 움직이기 (0) | 2024.03.10 |
[유니티 2D] 이미지 반전 (0) | 2024.03.10 |
[유니티 2D] 비행선 추가 (0) | 2024.03.08 |
[유니티 2D] 스마트폰 터치 다운 업을 이용한 움직임 (0) | 2024.03.08 |