GameDevelop/Unity기초쌓기

[Unity] 중력,충돌로 빗방울구현 Rigidbody,Collider

도도돋치 2025. 3. 27. 19:38
Contents 접기
728x90

빗방울 추가

우선 빗방울 오브젝트를 생성해준다.

Hierarchy 우클릭 > 2D Object > Sprites > Circle

 

빗방울 중력구현 

Rain 오브젝트 Inspector 맨 아래의 Add Component를 눌러 Rigidbody 2D를 추가한다.

 

Rigidbody =>물리에 필요한 다양한 힘들 

ex) 중력, 물체의 무게값, 마찰력 등

 

빗방울 충돌구현

 

마찬가지로 Inspector  아래에 있는 Add Component 눌러 Rain과 Ground Collider를 추가한다. (Rain 원이므로 Circle Collider 2D 추가, Ground 네모이므로 Box Collider 2D 추가) 

 

Collider는 충돌현상이다.

 

만약 Collider를 설정하지 않았을 경우 RainOject는 Ground를 지나쳐 가지만, Collider를 설정해 줄 경우 Ground에 닿으면 떨어지지 않는다.

Collision을 설정했을 경우

 

빗방울 없애기

충돌 했을 경우 빗방울을 없애기 위해 RainScript를 생성해준 후 아래의 코드를 update아래에 작성한다.

//충돌이벤트 발생시
private void OnCollisionEnter2D(Collision2D collision)
{
    if(collision.gameObject.name=="Ground")
    {
        Destroy(gameObject);
    }
}

📌collision에는 충돌하는 물체의 정보가 들어있다.
📌즉, Rain이 Ground에 부딪히면 부딪힌 Ground 관련된 게임 오브젝트 정보들이 들어있다.

📌gameObject는 Rain스크립트가 붙어있는 오브젝트(Rain)자체를 가리킨다. (= this.gameObject)

 

 

Rigidbody와 Collider을 둘다 추가 해준 후, 충돌코드를 적어주면 아래와 같이 빗방울이 Ground에 닿으면 사라진다. 

728x90