반응형
SMALL
==구현목록==
- 플레이어 이동 및 애니메이션
- 플레이어 파워업 시 총알 타입 변경
- 파워업 랜덤 생성
- 적 랜덤 생성
- 적 공격
- 적 혹은 플레이어 파괴시 폭파 이펙트 생성
- 배경 스크롤
- 플레이어의 남은 목숨에 따른 ui 구현
- 플레이어의 남은 생명이 없을시 부활 불가 및 게임 오버 ui팝업
- 플레이어 부활시 3초 무적
- 플레이어 부활시 화면 아래 에서 부터 생성 및 스폰 위치로 전진
- 플레이어 폭탄 구현 (필살기)
- ui 점수 체계
- 게임오버시 씬 전환 (정확히는 씬 전환이 아닌 오버레이 UI 를 팝업 하고 해당 팝업이 뜨고 Touch To Restart 라는 문구가 뜰때 터치 시에만 재시작 되도록 했다)
- 적의 공격 타이밍 다양화
- 플레이어 폭탄횟수 & 폭탄 파워업 구현 및 점수 체계와 연동 (3개 이상 먹을시 점수로 반영)
- 공격 폭파 폭탄 배경음악 등 SFX 추가
- 플레이어가 죽을 때를 포함하여 시작시 화면 하단에 올라오게 변경
- 플레이어가 죽을시 랜덤 아이템 생성
==아직 미구현 혹은 앞으로 구현하고 싶은 사항==
- 터치 컨트롤
- 타이틀 스크린 추가
- 스코어 보드
==지금 까지 얻은 교훈==
- 생각보다 이름짓는것이 어렵다. 처음부터 게임을 설계할때 변수명 혹은 스크립트명, 게임 오브젝트 명을 어떻게 할지 고려하지 않으면 안되겠다.
- 이름을 마구잡이로 지으니 코드를 다시 볼때 헷갈리고 내가 쓴 코드임에도 이게 뭐였지 하는 상황이 발생하더라
- SFX는 배경음악 같이 한번 실행되면 계속 실행되는 SFX의 경우엔 Ogg 나 mp3 같은 압축률이 높은 파일 형식을 사용해도 문제가 없지만 레이저사운드 혹은 폭파음 처럼 생각보다 자주 생성되는 SFX들은 파일 형식을 wav로 하니 최적화에 도움이 됐다.
- MainCamera를 벗어난 오브젝트들중 다시는 플레이어가 볼일이 없는 오브젝트들은 바로 없애주는게 최적화에 도움이 많이 됐다.
- 코루틴과 업데이트를 섞어서 쓰니 어떤건 업데이트로 돌아가고 어떤건 코루틴으로 돌아가니 중간 중간 디버깅시에 헷갈리는 경우가 많았다. 가능하면 앞으로는 코루틴을 위주로 사용해야겠다.
- UI의 경우 한 UI의 자식으로 들어간 UI 오브젝트 들의 포지션을 바꿀때 로컬 포지션으로 포지션을 변경해주어야 하는데 이걸 간과하고 RectTransform 만 보고 계속 위치를 잡아주는 실수를 했다. (앞으로 기억해두고 오브젝트가 어디에 속해 있는지 자주 확인해주는 버릇을 들여야 겠다.)
Ps.어제 추가하려했던 기능들보다 많은 기능을 추가하다 보니 시간이 조금 걸렸다;; 이게 시간이 정말 많이 들어가는 작업이라는걸 다시 한번 깨달았다.
데모 영상은 아이템 종류별 상호작용을 보기 위해 출현률을 100로 고정하였다.
반응형
LIST
'유니티 엔진 클라이언트 > 수업 과제' 카테고리의 다른 글
[유니티] Setting 창 제작 (클립보드 복사 플러그인) (0) | 2023.02.19 |
---|---|
[유니티] 상점 탭메뉴 스크롤 연동 (0) | 2023.02.19 |
[유니티] 클로저 - 반복문 안에서의 람다 사용시 주의사항 (2) | 2023.02.06 |
[유니티] 오브젝트 풀링이란 무엇인가? + 구현 (0) | 2023.02.05 |
[유니티] 코루틴 & 스레드 (0) | 2023.02.01 |