250219 TIL

박소희·2025년 2월 19일

Unity_7기

목록 보기
30/94

객체 중심점 옮기기

  • 해당 sprite 원본 Sprite Editor에서 옮기면 된다.

장애물을 한번에 10개씩 만들고 일정 시간 뒤에 다시 10개씩 생성하게 InvokePeating으로 만들었는데, 유니티가 멈췄다.
-> 최대 개수를 정해서 처음에 최대 개수만큼 생성한 후, 한 장애물이 지워지면 새로운 장애물이 한개 생성하면서 개수를 유지하려고 했다.
-> 그런데 1개가 사라질 때마다 2개가 새로 생성되었다.

  • 장애물 객체에는 콜라이더가 두개 적용되어 있어서 -> 콜라이더 한 개를 끄고 테스트 해봤더니 이것이 문제였다.
  • Destroy와 생성함수가 딜레이 없이 실행되어서 두번 실행 -> invoke나 코루틴으로 딜레이를 줘봤지만 아니었다.

-> 장애물을 넘은 만큼 점수를 올리려고 했기 때문에, 넘은 것을 감지하는 콜라이더가 필요하다.
-> 장애물 넣는 대신 플레이어 아래에 놓아서 그 문제는 해결 되었다.
-> 점수가 중복으로 들어오는 문제가 새로 생겼다.

장애물과 마찬가지로 바닥을 이루고 있는 타일맵도 플레이어가 어느정도 지나가면 제거하고 바로 다음 위치에 새로 생성하려고 했다.
-> 프리팹으로 만들고 제거한 후 Instantiate로 생성했는데, 한 칸짜리 타일이 지정되지 않은 position에 생성되었다...
-> 프리팹에서 기존 오브젝트로 복구하고, 두 개의 타일맵을 따로 생성해 플레이어가 다 지나가면 위치를 옮기는 방식으로 해결했다.

0개의 댓글