unreal과제 계획(25.02.07)

Virus·2025년 2월 7일
0

📌 1단계: 멀티 웨이브 구조 구현 (게임 플레이 개선)

✅ 목표
기존 레벨 변경 방식이 아닌, 한 레벨 내에서 여러 개의 웨이브 진행이 가능하도록 구현
각 웨이브는 일정 시간 동안 진행되며, 이후 자동으로 다음 웨이브로 전환됨
웨이브가 진행될수록 더 많은 아이템과 적이 스폰되도록 설정

🛠️ 세부 작업
1️⃣ GameMode/GameState 수정
AGameModeBase 또는 AGameStateBase를 수정하여 웨이브 진행 상태를 관리
CurrentWave 변수를 추가하여 현재 웨이브를 추적
StartWave(), EndWave() 함수를 만들어 웨이브 전환 기능 구현
FTimerHandle을 사용하여 각 웨이브가 일정 시간이 지나면 자동으로 다음 웨이브로 이동

2️⃣ WaveManager (새로운 클래스 또는 GameMode에 추가)
SpawnVolume을 활용하여 웨이브별 적과 아이템 스폰 개수 조절
TArray<AActor*> 또는 TSubclassOf 를 활용하여 각 웨이브에서 등장할 아이템/적의 종류를 설정

3️⃣ 디버깅 & 테스트 로그 출력
UE_LOG 또는 GEngine->AddOnScreenDebugMessage로 웨이브 진행 상태 확인
웨이브 시작/종료 시 알림 표시


UE_LOG(LogTemp, Warning, TEXT("Wave %d 시작!"), CurrentWave);
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Green, FString::Printf(TEXT("Wave %d 시작!"), CurrentWave));

📌 참고할 코드 요소
AGameModeBase::StartWave(), AGameModeBase::EndWave()
FTimerHandle을 활용한 웨이브 시간 제어
SpawnVolume에서 아이템 및 적 개수 조정

📌 2단계: 기존 HUD/UI 분석 및 요구사항 정리

✅ 목표
기존 WBP_HUD, WBP_MainMenu 등의 구조와 디자인을 분석
새로 추가할 정보 및 기능 목록 정리

🛠️ 세부 작업
1️⃣ 기존 UI 위젯 분석
WBP_HUD에서 현재 어떤 정보(체력, 점수, 타이머 등)가 표시되고 있는지 확인
WBP_MainMenu, WBP_GameOverMenu에 포함된 버튼과 레이아웃을 분석

2️⃣ 새롭게 추가할 기능 정의
HUD
점수 (Score)
체력 (HP)
시간 (Countdown Timer)
현재 웨이브 표시
메뉴
게임 시작 (Start Game)
게임 종료 (Quit Game)
게임 오버 후 재시작 (Restart Game)

📌 3단계: HUD 및 메뉴 UI 리뉴얼 (UI/UX 개선)

✅ 목표
기존 UI를 개선하여 가독성을 높이고, 시각적 효과 및 인터랙션 추가
버튼 클릭 시 실제로 동작하도록 C++/Blueprint에서 연동

🛠️ 세부 작업
1️⃣ HUD 재설계 (WBP_HUD)
Canvas Panel, Vertical Box, Horizontal Box 등을 활용하여 레이아웃 구성
텍스트 스타일 (폰트, 크기, 색상 등) 적용
체력바, 타이머 게이지, 점수 표시 UI 추가

2️⃣ 메뉴 UI 재설계 (WBP_MainMenu, WBP_GameOverMenu)
시작, 종료, 재시작 버튼의 디자인 및 배치를 조정
반투명 블러 효과, 버튼 Hover/Clicked 애니메이션 적용

3️⃣ Blueprint 및 C++ 데이터 연동
GameState 또는 PlayerController에서 점수, 체력, 웨이브 정보를 가져와 HUD 업데이트
SetText(), BindWidget()을 사용하여 UI 실시간 업데이트

📌 4단계: 데이터 연동 및 UI 애니메이션 추가

✅ 목표
게임 내 데이터가 실시간으로 UI에 반영되도록 C++ 연동
UI 요소에 애니메이션 효과를 추가하여 더 직관적이고 생동감 있는 HUD/UI 완성

🛠️ 세부 작업
1️⃣ C++ 데이터 바인딩
GameState에서 관리 중인 점수, 체력, 타이머 정보를 WBP_HUD에서 표시
BindWidget을 사용하여 UI 요소와 연결


UPROPERTY(meta = (BindWidget))
class UTextBlock* ScoreText;

2️⃣ UI 애니메이션 추가
버튼 클릭 시 Scale 변화
HUD 등장/사라짐 애니메이션 (Fade In/Out) 적용
웨이브 시작 시 화면 흔들림 또는 강조 효과 추가

📌 5단계: 최종 테스트 & 폴리싱

✅ 목표
전체 게임 플레이 흐름과 UI 동작을 점검하고, 세부적인 디테일을 다듬기

🛠️ 세부 작업
1️⃣ 웨이브 진행 점검
웨이브가 정상적으로 순차 진행되는지 확인
적/아이템이 제대로 스폰되는지 테스트

2️⃣ HUD 및 UI 디테일 조정
텍스트 크기, 위치, 색상 조정
UI 배경 및 버튼 스타일 개선

📝 정리: 진행 순서 요약
1️⃣ 멀티 웨이브 구조 구현 (GameMode/GameState 수정, 스폰 로직 확장)
2️⃣ HUD/UI 분석 및 개선 기획 (기존 구조 분석, 필요한 정보 정리)
3️⃣ HUD 및 메뉴 UI 리뉴얼 (디자인 및 배치 수정, 버튼/인터랙션 개선)
4️⃣ C++ 데이터 연동 및 UI 애니메이션 추가 (실시간 업데이트, 애니메이션 적용)
5️⃣ 최종 테스트 및 폴리싱 (버그 수정, 세부 조정)

0개의 댓글

관련 채용 정보