← 블로그로

Unity MCP로 3D RPG 만들기: 3인칭 조작, 전투, 퀘스트

Unity MCP를 활용한 3D RPG 프로토타입 제작 가이드: 3인칭 이동, 실시간 근접 전투, 적 상태 머신, 퀘스트 연결. Cursor 등 MCP 지원 AI IDE에서 진행.

게시일
  • Unity MCP
  • 3D RPG
  • Unity
  • combat
  • AI game development

개요

데모 준비가 된 3D RPG 프로토타입은 보통 다음 요소들이 먼저 필요합니다: 조정 가능한 3인칭 이동 및 카메라, 실시간 근접 전투 루프, 작은 상태 머신을 가진 적 하나, 트리거 가능한 퀘스트 또는 대화, 체력이나 퀘스트 진행 상황을 표시하는 HUD. 이 가이드는 이 빌드 순서를 따릅니다. Cursor, Claude Code, Codex 또는 다른 MCP 지원 AI IDE에서 **Unity MCP**를 통해 열린 Unity 프로젝트를 제어한다고 가정합니다—파일을 디스크에 붙여넣기만 하는 것이 아니라 씬, GameObject, C#을 읽고 씁니다.

설치 및 연결: Unity MCP 설치 가이드. 지원되는 에디터 버전은 제품 페이지를 따릅니다(일반적으로 Unity 2022.3+ / Unity 6).

최소 플레이 가능한 범위 설정

다음을 수용할 수 있는 경우에만 v1을 출시하세요:

  1. WASD 이동, 마우스 룩, 점프; 지면과 완만한 경사에서 안정적인 느낌
  2. 콜라이더에 맞고 데미지를 주는 근접 공격 하나(임시 애니메이션 허용)
  3. 적 하나: 순찰 → 플레이어 감지 → 추적/공격; 사망 시 비활성화 또는 파괴
  4. NPC 하나: 접근하여 대화하거나 퀘스트 수락; 목표 “그 적 처치” 후 로그 업데이트
  5. 간단한 HUD: 체력 바 + 퀘스트 한 줄

필요하면 프리미티브로 아트를 블록아웃하세요. 메인 메뉴, 인벤토리 그리드, 세련된 HUD는 나중 UI 패스로 처리하세요(아래 참조).

프로젝트 및 MCP 준비

게임플레이 프롬프트 전에:

  • Unity 프로젝트가 열려 있고, 대상 씬이 Play 모드로 진입 가능해야 함
  • Unity MCP 서버가 실행 중이고, AI IDE가 Hierarchy 루트를 나열할 수 있어야 함(읽기 전용 스모크 테스트)
  • 베이스라인 커밋 완료; 큰 편집 전에 다시 커밋

읽기 전용 확인:

활성 씬의 루트 GameObject를 나열하세요. 아무것도 변경하지 마세요.

그 후에만 쓰세요. 브리지를 localhost로 유지하고 포트를 공개적으로 노출하지 마세요. 프롬프트 작성: Unity MCP with Claude Code and Cursor.

플레이어: 3인칭 컨트롤 우선

최소 골격(프로젝트에 맞게 이름 변경):

Player
├── CharacterController 또는 Rigidbody + CapsuleCollider
├── CameraPivot (yaw)
│   └── CameraArm (pitch) → Main Camera
└── AttackHitbox (trigger, 기본적으로 꺼짐)

입력, 카메라, 경로를 명시적으로 지정하세요:

Assets/Scripts/Player/PlayerController.cs 생성: 3인칭; WASD는 카메라 전방 기준; 마우스 yaw/pitch (pitch 클램프 −30°–60°); Space로 점프; Player에 연결. CharacterController.isGrounded 또는 동등한 것으로 지면 확인.

그런 다음 느낌을 조정하세요:

이동 속도 ~5, 가벼운 가속 스무딩; 점프 ~1.2 m; 약간의 카메라 추적 감쇠—휩팬 없음.

“스크립트 생성”을 축하하기 전에 경사, 공중 조종, 카메라 클리핑을 검토하세요.

전투: 허용 가능한 근접 루프 하나

v1에서 스킬 트리는 건너뛰세요. 목표: 공격 버튼 → N프레임 동안 히트박스 활성화 → 데미지 → HUD 갱신.

PlayerCombat.cs 추가: LMB 공격, 0.6초 쿨다운; 해당 창 동안 AttackHitbox 활성화; IDamageable에 15 데미지. 적은 IDamageable과 현재 HP를 구현.

선택적이지만 여전히 간단한 업그레이드:

공격 중 이동 잠금; 적에게 짧은 히트스턴; 플레이어 피해 후 0.4초 무적 프레임과 깜빡임.

체력 변경을 이벤트/콜백으로 올려 HUD 바인딩을 깔끔하게 유지하세요—UI 스크립트가 월드를 Find하지 않도록.

적: Idle / Patrol / Chase / Attack

행동 트리 필요 없음. 네 가지 상태로 필드 몹을 커버:

Idle → Patrol → Chase → Attack
         ↑________________↓ (대상 상실)

Assets/Scripts/Enemy/EnemyAI.cs 생성: 두 지점 순찰; 12m 이내 Chase; 2m 이내 Attack (1.2초 쿨다운, 8 데미지); 플레이어를 놓친 후 3초 후 Patrol 복귀; HP 0에서 사망 애니메이션 또는 SetActive(false).

이미 베이크했다면 NavMeshAgent 선호; 그렇지 않으면 간단한 seek/face 모션으로 1주차가 내비게이션에 막히지 않도록 하세요. Animator는 선택 사항—초기에는 페이싱과 색상 피드백으로 충분.

퀘스트 및 NPC: 메인 퀘스트 하나

“퀘스트 느낌”은 트리거 → 추적 → 완료이지, 전체 퀘스트 에디터가 아닙니다.

데이터를 단순하게 유지:

  • QuestId, 제목, 설명, 진행 횟수, 완료 플래그
  • NPC Interact (E 또는 트리거) 대화 열고 StartQuest
  • 적 사망 시 QuestManager.NotifyKill(enemyId) 호출

QuestManager 싱글턴 생성: slay_wolf_01 (늑대 1마리 처치) 수락; 늑대 사망 시 진행; 완료 시 퀘스트 로그 복사본 업데이트. 마법사 NPC: 플레이어가 트리거에 들어가면 E를 눌러 퀘스트 시작.

TMP/Text는 v1 대화에 충분; 분기는 나중에.

HUD: 먼저 플레이스홀더, 나중에 세련된 UI

게임플레이가 완성되지 않은 동안 엔진 Slider / TMP_Text를 연결하세요:

플레이어 OnHealthChanged를 HUD 바에 바인딩; QuestManager 현재 제목을 상단 화면 TMP 줄에 바인딩.

메뉴, 인벤토리, 스킬 바에 디자인급 UI (레이어드 PSD/Figma, NL 생성 패널, Unity 프리팹으로 분할 및 내보내기)가 필요할 때는 AI Studio 같은 캔버스 워크플로우를 사용하세요:

  1. RPG HUD / 메뉴 생성 또는 가져오기
  2. 컴포넌트화하고 예: Assets/UI/로 내보내기
  3. AI IDE + Unity MCP로 돌아와 버튼, 바, 퀘스트 텍스트를 기존 게임플레이 이벤트에 바인딩

필요하면 먼저 알파 하드 컷아웃을 처리하세요. 구조는 캔버스에서 올 수 있고, 바인딩 및 전투 로직은 MCP를 통해 Unity에 유지—캔버스 도구가 완전한 전투 FSM을 작성할 것으로 기대하지 마세요.

가져오기 세부 사항: Figma to Unity UI.

제안된 빌드 순서

MCP: 플레이어 컨트롤 → 근접 루프 하나 → 적 FSM 하나 → 퀘스트 + NPC 하나
        ↓
MCP: 플레이스홀더 HUD 연결 (HP / 퀘스트 줄)
        ↓ (선택 사항)
캔버스 도구: 세련된 메뉴 / HUD → Unity로 내보내기
        ↓
MCP: 세련된 UI를 기존 이벤트에 바인딩

느낌, 수치, AI, 내비게이션 → 계속 Unity MCP 사용.

전체 화면 시각적 계층, 리스킨, 재내보낸 프리팹 → 캔버스 도구로 돌아가기.

실제로 도움이 되는 프롬프트 경계

모호한 프롬프트는 시간 낭비입니다. 다음을 고정하세요:

  • 경로 및 연결 지점 — 어떤 폴더, 어떤 객체
  • 수용 기준 — 예: “Play 10초 내에 늑대 한 마리 처치하고 퀘스트 완료 확인”
  • 범위 제외 — 예: “전체 입력 스택을 재구축하지 말고, 카메라를 삭제하지 마세요”
  • 프롬프트당 하나의 관심사 — 컨트롤, 그 다음 전투, 그 다음 적

항상 직접 플레이 테스트하세요. MCP는 반복적인 클릭을 제거할 뿐, 디자인 판단을 대체하지 않습니다.

수용 체크리스트

  • 3인칭 이동/카메라가 약 2분 동안 명백한 클리핑이나 컨트롤 상실 없이 제어 가능
  • 근접 공격이 안정적으로 맞고, 쿨다운이 눈에 띔
  • 순찰 vs 추적이 읽기 쉽고, 사망 시 명확한 피드백
  • 퀘스트 수락 및 완료 가능, HUD 텍스트 업데이트
  • 체력 변경이 UI에 도달 (플레이스홀더 허용)

다음 단계

  1. Unity MCP 설치 가이드 완료 및 읽기 전용 스모크 테스트
  2. “이동 + 적 하나 + 퀘스트 하나”를 그 순서로 출시
  3. HUD가 완성된 모습이 필요할 때만 세련된 UI 내보내기 추가

이 글도 추천합니다