내일배움캠프 31일차 - 언리얼 C++ 구조 및 기초
솔루션 구조
언리얼 C++ 프로젝트의 Visual Studio 내에 정리된 가상 폴더 구조를 '솔루션 구조' 라고 한다.
Engine
언리얼 엔진 자체의 코어 코드이다. 엔진을 커스터마이징하고자 할때 건드리는 것으로, 엔진을 전문적으로 다루는 개발자들이 사용한다.
Games
작업중인 프로젝트의 내용을 담는다. 우리가 개발중인 프로젝트의 설정과 실제 로직 소스코드가 담겨져 있다.
Root폴더: 프로젝트의 최상위 디렉토리 (위의 Practice라고 적힌 프로젝트명이 담긴 디렉토리)
- Config: 게임의 여러가지 설정들을 담아놓은 파일들 (에디터의 환경, 게임모드 기본값, 키보드 마우스 입력설정 등)
- Source: 프로젝트명.cpp, .h가 담긴 메인 로직 소스헤더파일, 그리고 앞으로 추가할 클래스 객체의 소스코드를 담아놓을 작업폴더.
- .Build.cs: 빌드 설정이 저장되는 파일. 윈도우 빌드코드이므로 C#의 코드로 이루어져 있음.
- Editor.Target.cs: 빌드 설정이 저장되는 파일2
- .uproject: 언리얼 에디터를 실행하기 위한 파일.
Programs
서버 모듈이나 유틸리티 등 여러 프로그램이 담겨있는 폴더. 외부의 툴들이 여기에 담긴다.
Rules
이 엔진과 각 게임 모듈들의 여러가지 빌드 규칙을 담아놓은 폴더이다.
Visualizers
디버깅 시 언리얼의 자료구조를 좀 더 편하게 보기 위한 파일 설정들이 담겨있는 폴더.
빌드 과정
소스코드를 수정했으면 빌드를 해야 언리얼 에디터상에 반영이 된다.
c++ 파일을 수정하고 빌드(컴파일+링크) → DLL 파일(언리얼 상에서 빌드 결과물)이 생성이 된다.
(Binaries→'빌드한 플랫폼 폴더'에 저장됨)
언리얼 에디터는 이 DLL파일이 갱신될 때마다 로드를 하는 것이다.
전체빌드: Ctrl+Shift+B. 첫 빌드때 사용.
부분빌드: Root파일(프로젝트) 우클릭 → 빌드. 이후 프로젝트 수정 시 해당 프로젝트만 빌드.
※ [주의사항1]
에디터를 켜놓고 전체빌드를 하면 DLL파일(빌드내역)이 갱신이 되지 않아 에러가 발생할 가능성이 크다.
→ 언리얼 에디터를 종료하고 빌드.
※ [주의사항2]
→ [Build Only] 필터로 전환해 컴파일러 오류를 해결하는 것이 최우선
| 빌드 모드 | 빌드 방식 | 특징 |
| DebugGame | 실행파일로 빌드 및 플레이 | 디버그에 대한 모든 정보를 가진 채 빌드. 정보량 많음, 게임속도 느림. 디버깅에 적합. |
| DebugGame Editor | 언리얼 에디터 상에서 플레이 | |
| Development | 실행파일로 빌드 및 플레이 | 일반적인 빌드. 빠른 테스트를 거칠 때 사용. Debug모드에 비해 정보량 축소, 게임속도 빠름. 가벼운 디버깅, 빠른 테스트에 적합. |
| Development Editor | 언리얼 에디터 상에서 플레이 (자주 사용할 모드) | |
| Shipping | 최종배포 | 배포 빌드. 최종 릴리즈 단계에서 사용. Debug정보가 없음, 게임속도 가장 빠름. (속도 확인겸)배포 마지막에 쓰는 모드. |
2) 플랫폼 선택
- Win64: 윈도우64비트. 가장 일반적인 플랫폼.
- 그 외의 다른 플랫폼(안드로이드, 콘솔 등)을 사용하고 싶다면 추가적인 SDK 설치 필요.
성공한 빌드가 에디터 상에서 반영이 안될 때 복구방법
임시 빌드 파일이나 캐시 파일 등에 문제가 발생한 상황 (빌드가 꼬였다고 표현)
1) 에디터를 종료한다.
2) VisualStudio를 종료한다.
3) 프로젝트 폴더에서 세 가지 폴더를 삭제한다
- DerivedDataCache: 캐시가 저장된 폴더
- Intermediate: 임시 빌드 파일이 저장된 폴더
- Saved: 로그파일을 저장한 폴더
- (선택)Binaries: DLL 빌드내역이 포함된 폴더
4) .uproject파일을 우클릭하여 'Generate Visual Studio project files'를 눌러 솔루션 파일을 재생성한다.
5-선택) Visual Studio에서 [Build]-[Clean Solution] → 전체 빌드
댓글
댓글 쓰기