오늘은 중간발표였다. 우리 조는 기획자분께서 발표를 진행하셨으며 발표 전 미리 리허설을 한번 진행하셨는데.... 팀원소개보고 진짜 10분을 웃은것 같은데 실전에서도 그거 보고 빵터져서 계속웃엇다. 왜인지는 비밀
일단 지금까지 내가 한 것은 아래와 같다.
- 잠금타일 설치
- TileManager 내 SetLockTileMap()
- 플레이어가 상호작용을 통해 잠금된 공간을 풀어나가는 형식을 위한 오브젝트 배치용도
- TileMap의 Grid 시스템을 사용해 잠금 타일 배치를 구현함
- 배치는 타일맵의 GameObject Brush 기능을 사용하여 배치하고자 하였으나 동적으로 배치하는 방식으로 전환하였음
- Instantiate()시 자원 오브젝트는 LockTileBlock 하위로 생성
- 잠금타일 배치 제외처리
- 플레이어가 처음 리스폰되는 위치와 그 주변의 6개의 타일, 총 7개는 게임 시작 시 해금된 상태로 있어야 하므로 제외처리
- 제외 타일은 플레이어 위치 기준으로 계산하지 않고 고정된 좌표의 List로 관리하며 해당 위치에는 타일이 생성되지 않도록 하였음
- 자원 배치
- TlieManager 내 SetResourceTileMap()
- 플레이어가 맵에서 재화를 획득하기 위한 자원을 랜덤으로 배치
- TileMap의 Grid 시스템을 사용해 잠금 타일 배치를 구현함
- 배치 시 resourceTileObj List에서 랜덤하게 자원 종류를 선택하여 생성, 셀마다 0~2개 사이의 자원을 Random.Range를 통해 결정하여 배치
- Instantiate()시 자원 오브젝트는 ResourceTileBlock 하위로 생성
- 자원 배치 예외처리
- 플레이어가 리스폰되는 중앙 타일에는 생성하지 않음
- 이미 생성된 자원의 위치는 usedPositions 리스트로 추적
- 자원 셀 위치는 셀 중심 기준으로 반지름 7의 범위 내에서 GetRandomPositionInCell() 함수를 통해 랜덤 위치 지정
- 새로 배치하려는 자원이 기존 자원과 거리 2 이하로 겹치면 무효처리, 최대 5회 재시도
- 맵 생성
- MapManager
- List에서 맵 하나를 선택하여 배치
- 맵은 프리펩으로 보관, 단순하게 하나만 딱 배치해주는 형식으로 진행
- 낮, 밤 구현
- TimeManager
- 씬 내 낮/밤 전환, 태양/달 조명, 주변광/반사광 설정 등
- enum으로 Day, Night을 등록하여 낮, 밤 구분
- SetDay(), SetNight()로 상태 전환
- 상태가 전환될 때 조명전환 코루틴 실행하여 자연스럽게 전환 (전환시간 2초)
- 낮 활성화 시 태양(Sun) 밝기와 색상 조절, 낮동안은 달(Moon)은 비활성화
- 밤 활성화 시 태양(Sun) 밝기와 색상 어둡게 조절, 달(Moon) 활성화
- 낮 전투 시 스크린이펙트 적용
- 낮 상태일 동안만 battleScreen UI의 투명도를 코루틴으로 조절하여 긴장감 형성
여기서부터는 내가 앞으로 해야할 점에 대해 개인노션에도 정리해두고 있으나 한번 더 정리하고자 한다.
- 전체적인 코드 리팩토링
- 코루틴을 이용한 부분에 대해선 수정 및 보완 필요, 또한 조금 더 코루틴에 대해 파악할 필요가 있다고 생각함
- TimeManager 및 TileManager의 자원배치 부분
- TimeManager
- 스크린이펙트 오브젝트 자연스럽게 수정 및 필요 시 코루틴에서 애니메이션으로 조정 필요
- 밤동안 시간에 따라 그림자 조절되게 수정
- 코루틴을 이용한 부분에 대해선 수정 및 보완 필요, 또한 조금 더 코루틴에 대해 파악할 필요가 있다고 생각함
- TileManager
- 현재 자원은 채취해도 사라지지 않지만 추후 사라지는 자원을 추가할 경우 수정 필요
- MapManager
- 맵 추가 및 코드 보완 (현재 맵 하나)
- RewardManager 작성
- 보상 내용 확인 후 작성
- 자원에 대해서는 확률(대성공~대실패 총 4개로 구성)조정 및 적용 필요
그리고 이제는 다같이 협업하는 시간에 공부하는건 미뤄두고 코드 작성한 다음 개인 시간에 공부해보고자 하며
일단 제일 급한건 코루틴과 델리게이트.. 그놈의 코루틴과 델리게이트는 공부해도 잘 모르겠다...ㅜㅜ
근데 사실 구현할건 많은데 당장 생각나는건 이정도다 ㅎㅎ... 생각나는게 있을때마다 추가해둬야겠다.
한건 많이 없어도 실력은 많이 늘엇다고 생각하고 앞으로도 꾸준히 열심히 하면 좋은날이 있을거라고 생각한다. 앞으로도 파이팅이다 :)
'Unity > Project' 카테고리의 다른 글
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 22일차, (5) | 2025.05.08 |
|---|---|
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 21일차, (1) | 2025.05.08 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 19일차, (0) | 2025.05.01 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 18일차, (0) | 2025.04.30 |
| [Unity] 내배캠 최종프로젝트 : 루시퍼 서바이벌 17일차, (0) | 2025.04.30 |