ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Unity 2D] Fly Bird 프리팹 구현하고 Collider 적용하기
    Unity 2D 2023. 3. 23. 20:06

    이제 Bird 가 넘을 장애물인 파이프 프리팹을 만들어보자.

    파이프 이미지를 하이라키 창에 드래그해서 세트를 만들어본다.

    짜잔 세트 완성

     

    이 파이프에 각각 Box Collider 2D 컴포넌트를 넣어서 충돌체 위치를 설정해준다.

    파이프에 맞게 크기를 조정해주면 된다.

     

    세트로 만든 파이프를 빈 오브젝트를 만들어 상속시킨다.

    빈 오브젝트도 마찬가지로 Box Collider 2D 컴포넌트를 넣어준다.

    새로 만든 파이프에 레이어 설정 해주는 것도 잊지 말자.

     

    그리고 프리팹 에셋 폴더로 넘겨서 프리팹화 한다.

     

    게임 기획 상 바닥에 떨어져도 Game Over가 되고 하늘에 닿아도 Game Over 가 되어야 하기 때문에

    Grounds에도 Collider 컴포넌트를 넣어주고, 하늘에도 빈 오브젝트를 생성시켜서 콜라이더를 넣어준다.

    하늘에 닿았을 때 Game Over 처리를 하지 않으면 자칫 버그가 생길 수 있으니 웬만하면 구현하는 것이 좋다.

    콜라이더를 모두 설정했다.

    SkyWall도 똑같이 카메라를 따라가야 하니까 Main Camera에 상속시킨다.

    그리고 충돌 처리를 체크하기 위해서 각각 네임택을 달아주자.

    Inspector창 → Tag 클릭 → Add Tag → + 버튼 클릭

    지나갔을 때 점수를 얻을 Pipe 부모 오브젝트의 택은 Score다.
    부딪혔을 때 충돌 처리를 할 장애물 Pipe 자식 오브젝트의 택은 Pipe이다.

     

    부딪혔을 때 충돌 처리를 할 ground의 택은 Ground이다.
    SkyWall도 마찬가지로 부딪혔을 때 충돌 처리를 할 거라서 택을 Ground로 설정했다.

     

    아직 테스트 해야 할 것이 좀 남아있기 때문에

    파이프 2개의 콜라이더에 is Trigger 에 체크해놓자.

     

    잠깐! 여기서!

    is Trigger 가 뭐지? 무슨 뜻이냐면

    이 충돌체가 트리거로 구성되었는가?

    즉, 들어오는 Rigidbody 와의 충돌을 등록 할지 안 할지 설정할 수 있는 항목이다.

    더 쉽게 말해서 is Trigger 에 체크를 하면 충돌 처리가 되지 않고 그냥 관통한다는 것이다.

    그리고 관통하면서 충돌 감지 체크도 가능하고 충돌한 오브젝트의 정보도 알 수 있다.

     

     

    다음엔 스폰 포인트를 지정해서 아까 만든 파이프 프리팹을 계속 생성시켜보자!

Designed by Tistory.