C++와 Unreal Engine으로 3D 게임 개발

C++와 Unreal Engine으로 3D 게임 개발 1-3

jh009 2026. 6. 6. 21:18

1-3. C++ Actor 클래스 생성 및 삭제하기

프로젝트에 리소스 Migrate

Resources 폴더 우클릭 → Migrate 선택

 

Migrate

  • 선택한 에셋 (또는 폴더) 이 참조하고 있는 모든 종속 파일을 함께 복사해줌 → 누락 없이 옮기기 가능

경로

  • 작업 중인 프로젝트 (SpartaProject) 의 최상위 Content 폴더를 선택
  • SpartaProject/Content 와 같은 형태로 경로가 지정되어야 함

  • 기존에 같은 이름의 폴더가 있으면 파일 충돌이 발생되니 주의
  • 복사가 아닌 파일 이동임
  • 실제 게임 개발 현장에서는 디자이너와 프로그래머가 하나의 프로젝트에서 함께 작업하는 경우가 더 많음

SpartaProject 의 Content Browser 에서 Resources 폴더가 정상 복사되어 있으면 성공


레벨 생성 및 기본 맵 설정

맵 저장

File → Save Current Level → 미리 만든 Maps 파일 선택 → 이름 수정 (MainLevel) 후 저장

 

기본 맵 지정

기본 레벨을 지정 → 에디터, 게임 실행 시 항상 같은 맵에서 시작 / 프로젝트 관리나 협업 시 유용함

  • 상단 메뉴 Edit → Project Settings
  • 왼쪽 목록 Project 카테고리 Maps & Modes
  • Editor Startup Map 과 Game Default Map 을 모두 MainLevel 로 지정

Actor , Object 개념 이해

Object (UObject)의 개념

 

UObject: 언리얼 엔진에서 모든 클래스의 최상위 부모 클래스

  • 월드(레벨)에 배치 X
  • 데이터나 로직만 담당
  • 화면에 보이지 않는 데이터나 로직을 처리

예: 플레이어 능력치(HP, 경험치), AI 정보, 게임 설정 값, 임시 계산 로직 등


Actor (AActor)의 개념

AActor 는 UObject 를 상속한 클래스로, 월드에 배치 가능

  • 위치, 회전, 크기 등 공간적 정보
  • 여러 컴포넌트 (Component) 를 추가로 붙일 수 있음
  • 실제 게임 세계에서 보이고 상호작용하는 캐릭터, 적 몬스터, 무기, 조명, 파티클 효과 등은 주로 AActor 를 기반으로 제작

새로운 Actor 클래스 생성하기

1. Actor 클래스 생성

언리얼 에디터 상단 메뉴 Tools → New C++ Class 선택

팝업 창에서 Common Classes → Actor를 선택

 

만약 Actor가 안 보인다면, All Classes 탭에서 직접 검색

 

빌드가 완료되면 Visual Studio에서 프로젝트가 변경되었다는 메시지가 나타나면, Reload All 을 선택


2. 생성된 클래스 파일 확인

 

Class Type 옵션에 대한 추가 설명

 

Public 으로 생성할 경우

  • Public 폴더 → .h 
  • Private 폴더 → .cpp
  • 프로젝트의 다른 모듈에서 쉽게 #include 할 수 있어 편함 

Private 으로 생성할 경우

  • Private 폴더 → .h , .cpp
  • 해당 모듈에서만 접근 가능
  • 특정 로직이나 구현을 캡슐화해서 외부에 노출하고 싶지 않을 때 사용

Actor 클래스 삭제하기

1. Visual Studio 에서 클래스 제거

  • 언리얼 에디터를 종료
  • Visual Studio → Solution Explorer 에서 삭제할 클래스를 찾기
  • .h와 .cpp 파일을 각각 우클릭 → Remove 선택

2. 프로젝트 폴더에서 물리적 파일 삭제

  • 윈도우 탐색기 → Source/SpartaProject 아래의 Public 혹은 Private 폴더로 이동
  • Remove 했던 .h, .cpp 파일을 직접 삭제