TIL 25.02.21 - 팀 과제_1

강진규·2025년 2월 21일

Today I Learned

목록 보기
18/34
post-thumbnail

[ 해당 프로젝트를 가장 잘 표현하는 한 마디 ]

이번 팀 프로젝트는 Fire&Water, 쿠키런, 궁수의 전설 중
하나의 스타일 게임을 선택하여 제작하는 것입니다.
각 장르의 특징과 제작 과정을 통해 Unity 기술을 활용하고
팀원 간 협업 역량을 강화하는 것을 목표로 합니다.

우리 팀은 상의 끝에 쿠키런 스타일 게임을 선택하기로 하였다.
쿠키런 스프라이트 사용에 제한이 없어 그것을 사용하기로 하였다.


[ 필수 기능 ]

  • 캐릭터 자동 이동
  • 장애물과 아이템
  • 속도 증가와 난이도 조절
  • UI 시스템
  • 게임 오버와 재시작

시작 하기 앞서 먼저 역할을 분담하였다.
나는 맵과 장애물 관련을 맞기로 하였고 작업에 들어갔다.


[ 맵 ]

기본 뒷 배경은 카메라에 붙여서 따라가게 만들었고,
전경은 따로 빼두긴 했는데 내가 원하는 느낌이 안나서 계속 수정해보려고 한다.
쿠키가 이동하게 되는 발판은 타일맵으로 구성하였다.

collider도 설정해 주었는데 나중에 문제가 하나 발생했다.

[ 발생한 문제 ]

상민님이 엄청난 속도로 쿠키 관련 부분을 만들어서 그걸 병합을 하였고
실행을 했는데, 타일맵 collider는 각 개체 1개마다 부착되있어서
쿠키가 가다가 도중에 걸려버리는 바람에 앞으로 가지 못하는 상황이 생겼다.

하지만 상민님의 도움으로 문제는 빠르게 해결 할 수 있었다.
Composite Collider 라는 녀석인데 이걸 사용하여 개체마다 부착되있던 collider를
하나로 통합시켰고 문제가 말끔히 사라졌다.
아래에서 조금 설명을 적어보겠다.


[ 장애물 ]

발판과 마찬가지로 타일맵으로 구성하였고, Collider를 달아서
쿠키와 충돌 했을때 충돌 효과와 체력을 깍을 수 있게 구성해주었다.

void OnTriggerEnter2D(Collider2D collision)
{
    Cookie cookie = collision.GetComponent<Cookie>();

    if (cookie != null)
    {
        cookie.Hit(10f);
    }
}

[ 발생했던 문제 ]

OnTriggerEnter2D를 사용했는데 쿠키가 충돌했을 때 해당 동작을 안했다.
하지만 이것도 금방 이유를 찾았는데, 쿠키에 태그를 안달아줘서 생긴 문제였다 ㅎ;;

배속을 해놔서 잘 안보이긴한데 아무튼 잘 작동된다.


[ 새로 알게 된 것 ]

  • Composite Collider2D
    다수의 2D 콜라이더를 하나의 콜라이더로 합쳐주는 역할을 하는 컴포넌트
    주로 여러 개의 콜라이더가 하나의 콜라이더로 취급하기 위해서 사용

이 컴포넌트는 부착하게 되면 자동으로 Rigidbody2D가 같이 부착된다.
그래서 지형지물의 요소에 사용할 때는 Rigidbody2D 옵션에 신경써야 한다.

나 같은 경우에는 타입을 Static으로 사용하니까 문제 없이 동작했다.
(Static : 전혀 움직이지 않도록 설계되어 질량이 무한한 부동 오브젝트처럼 작동)


사용한 스프라이트가 쿠키런 것이다 보니까 별 거 안했는데도 완성도가 높은 느낌이 들었다.
오늘은 특강이 많았어서 한게 없지만 다음주부터 다시 달릴 예정이라 주말에 푹 쉬어야겠다.

0개의 댓글