Unreal Engine 5 Dev Log 7 ― 리듬게임, 불꽃놀이 그리고 야경
리듬게임, 불꽃놀이 그리고 야경
YouTube에서 보기 ↗
요약
- UE5로 리듬게임 + 불꽃놀이 + 야경 씬을 통합한 개인 프로젝트.
- 105시간 동안 BP, UI, DataTable, Niagara, Sequencer 등 UE 기능 대부분을 실전 사용.
- 리듬 판정 → 불꽃 패턴 → 야경 연출까지 하나의 시스템으로 연결.
제작 동기
- 10월에 추석 연휴가 길어서 UE5가 게임 엔진이니까 진짜로 게임을 만들어볼까 하는 생각이 들었음.
- 어떤걸 할까 고민하다가 리듬게임과 불꽃놀이를 섞어볼까 생각함.
목표 설정
- 작업기간: 2025.10.04.~2025.11.12.(105h)
- 하고자 한 것:
- 리듬 판정(Perfect / Great / Good / Miss) 구현
- 판정 → 불꽃 생성
- 야경 / 차량 / 조명 등 환경 연출
주요 작업
- 시스템 구성
- 게임 시스템
- BluePrint
- BP_MusicManager
- BP_FireworkManager
- BP_MarblePoolComponent
- BP_PipeViewRoot
- BluePrintFunctionLibrary
- BFL_RhythmUtils
- Enum
- ENUM_Grade
- ENUM_NoteType
- ENUM_PlayList
- ENUM_Result
- RenderTarget
- RP_Pipes
- Blueprint Structure
- ST_Cam
- ST_FireworkStyle
- ST_FireworkTask
- ST_HintTask
- ST_JudgeStyle
- ST_PlayList
- ST_Reply
- ST_ActiveCues
- ST_Note
- DataTable
-
- AudioChart(Lane(Int), TimeMs(Int))
- DAW로 각 음악의 Tempo 확인 후 원하는 노트 배열하여 MIDI 추출 → CSV 변환(https://midi-to-csv.vercel.app/)
- Chart-Golden
- Chart-Island
- Chart-TryEverything
-
- ReplayDataTable(Reply(String))
- Combo count및 Judge에 따른 댓글 구현
- DT_Combo25
- DT_Combo50
- DT_Combo75
- DT_Combo100
- DT_ReplyCommon
- DT_ReplyGood
- DT_ReplyGreat
- DT_ReplyMiss
- DT_ReplyPerfect
-
- SoundCuncurrency
- SC_KeyShot: 불꽃 SFX 동시 재생되도록
- SoundAttenuation
- Attn_Fireworks: 불꽃 거리감
- Image
- ButtonImage
- NiagaraSystem
- NS_Firework
- NS_MakeMarble
- NS_ShotFirework
- BluePrint
- 환경 구성
- BluePrint
- BP_CarLight
- BP_CarPath
- BP_TrafficManager
- Fab
- 야경 건물
- 다리
- BluePrint
- 게임 시스템
- UI
- WidgetBluePrint
- WBP_HUD
- WBP_JudgePop
- WBP_HintRing
- WBP_Replay
- WBP_Result
- WidgetBluePrint
- Sequencer
이번 프로젝트에서 처음 해본 것
- Blueprint Function Library
- Render Target
- Blueprint Structure
- DataTable
- SoundConcurrency / Attenuation
- Widget Blueprint Animation
배운점
- WBP의 Animation 기능
- BP에서 Sequencer 연결하는 방법
- Cam의 Location, Rotation을 가져오는 방법
- Judge에 따라서 NS Option을 변경하여 적용하는 방법
- DataTable + Struct 기반 구성
- UI 애니메이션의 효과
- BP 간 통신 구조 설계
- NiagaraSystem의 파라미터 설계