[Unity/DevLog] AI '안티그래비티'와 함께 0부터 만드는 정통 SRPG - 5일차
📢 개발 개요: 전장에 생동감을 불어넣다 (VFX, 사운드, 상태이상, 아이템)
"코드로 뼈대를 세웠다면, 이제는 영혼을 불어넣을 차례입니다."
안녕하세요! **'안티그래비티'**와 함께하는 SRPG 개발 5일차입니다. 지난 4일차에 38개의 방대한 스킬 데이터를 구축했다면, 오늘은 그 스킬들이 실제로 화면에서 번쩍이고(VFX), 소리가 나며(Sound), 전장에 지속적인 영향(Status Effect)을 미치도록 시스템을 고도화했습니다. 또한, 전투의 변수를 창출하는 아이템 및 장비 시스템도 함께 구현되었습니다.
1. 상태이상 시스템: 14종의 전술적 변수 🔥❄️
단순한 데미지 교환을 넘어, 지속적인 전술적 선택을 강요하는 상태이상(Status Effect) 시스템을 구축했습니다.
- 자동화된 데이터 생성: StatusEffectGenerator를 통해 14종의 상태이상 데이터를 단 1초 만에 생성했습니다.
- 다양한 효과 구현:
- DoT (지속 피해): Burn(화상), Poison(독)
- 행동 제어: Stun(기절), Sleep(수면), Silence(침묵)
- 스탯 변화: Attack Up/Down, Defense Up/Down, Speed Up/Slow
- 시각적 피드백: 유닛 머리 위에 남은 턴 수와 함께 상태 아이콘이 표시되도록 UnitInfoUI를 개선했습니다.
2. 감각적 피드백: VFX 오토메이션 & 사운드 시스템 ✨🔊
전투의 타격감을 책임지는 시각(VFX)과 청각(Sound) 요소를 시스템에 통합했습니다.
🤖 VFX 오토메이션 (VFX Generator & Linker)
수십 개의 스킬에 이펙트를 하나하나 연결하는 반복 작업을 AI 자동화로 해결했습니다.
- VFXGenerator: 파티클 시스템 기반의 기본 이펙트 프리팹(Fire, Ice, Heal, Buff 등)을 코드로 자동 생성.
- SkillVFXLinker: 스킬 이름(예: "Fireball")을 분석하여 적절한 VFX 프리팹("VFX_Fire")을 찾아 자동으로 연결.
🎧 사운드 매니저 (Sound Manager)
- BGM/SFX 분리: 배경음과 효과음을 개별 채널로 관리하는 SoundManager 구축.
- 전투 연동: 전투 시작 시 BGM 자동 재생, 스킬 사용/피격 시 SFX 자동 재생 로직을 BattleManager와 Unit에 통합.
3. 아이템 & 장비 시스템: 보급과 무장 🎒⚔️
RPG의 필수 요소인 인벤토리와 장비 시스템을 구현하여 성장의 재미를 더했습니다.
- 통합 인벤토리: GameManager에서 파티 공용 인벤토리를 관리.
- 전투 중 아이템 사용: Action Menu에 [Item] 버튼을 추가하여, 포션(Potion) 등을 통해 위기의 아군을 즉각 치유할 수 있습니다.
- 장비 시스템 (Equipment):
- UnitData에 무기/방어구 슬롯 추가.
- Iron Sword 등 장비 장착 시, 전투 진입 단계(Unit.Setup)에서 자동으로 공격력/방어력 보너스가 합산 적용됩니다.
4. MCP를 활용한 문제 해결 (Troubleshooting) 🛠️
오늘도 개발 도중 발생한 난관들을 MCP(Model Context Protocol)를 통해 신속하게 해결했습니다.
| 이슈 (Issue) | 원인 (Cause) | 해결 (Solution) |
| 컴파일 에러 | HighlightType.Skill 및 HighlightTile 메서드 누락 | AI가 GridManager.cs를 분석하여 누락된 정의 즉시 추가 |
| UI 중복 호출 | ItemListUI 클릭 이벤트가 중복 등록됨 | 리스너 초기화(RemoveAllListeners) 후 구조 리팩토링 |
| 스탯 원본 훼손 | ScriptableObject인 UnitData를 직접 수정 | UnitStats.Clone()을 구현하여 전투 시 깊은 복사 사용 |
| VFX 미출력 | 인스턴스화(Instantiate) 로직 부재 | PerformSkillAction 코루틴에 VFX 생성 로직 추가 |
📊 5일차 개발 통계
- 생성된 상태이상 데이터: 14개 (Burn, Stun, Haste 등)
- 자동 생성된 VFX 프리팹: 8종 (속성별 기본 이펙트)
- 구현 시스템: 상태이상, 사운드, 아이템/장비, 인벤토리
- 수정된 스크립트: 12개
📝 5일차 개발을 마치며
"시스템은 복잡해졌지만, 관리 포인트는 줄어들었습니다."
모든 스킬과 이펙트, 상태이상을 수동으로 연결했다면 며칠이 걸렸을 작업을 **'에디터 스크립트 자동화'**를 통해 몇 분 만에 끝냈습니다. AI가 단순 반복 작업을 처리하는 동안, 개발자는 어떤 상태이상이 전투를 더 재밌게 만들지 **'기획'**에 더 집중할 수 있었습니다.
다음 단계: 이제 시스템의 외형은 갖춰졌습니다. 다음 시간에는 플레이어를 긴장하게 만들 **'똑똑한 적군 AI (Enemy Intelligence)'**를 구현하고, 실제 스테이지 레벨 디자인을 진행해 보겠습니다!
"AI는 시간을 벌어주고, 개발자는 재미를 만듭니다."
'AI > Unity' 카테고리의 다른 글
| tripo3d에서 FBX 추출 후 유니티에 적용하기 - 애니메이션 (2). (3) | 2026.01.18 |
|---|---|
| tripo3d에서 FBX 추출 후 유니티에 적용하기. (0) | 2026.01.18 |
| AntiGravity를 이용한 SRPG만들기 4일차 (1) | 2026.01.11 |
| AntiGravity를 이용한 SRPG만들기 3일차 (0) | 2026.01.10 |
| AntiGravity를 이용한 SRPG만들기 2일차 (1) | 2026.01.04 |