💡 언리얼 엔진에서 BluePrint를 사용하여 실습했던 내용들을 C++을 활용하여 구현해보는 시간도 가질 것이다. 그전에 언리얼엔진과 Visual Studio를 연동하는 과정을 먼저 진행해보자.
해당 시리즈에서는 기존 BluePrint를 활용해서 플레이어에게 여러 컴포넌트를 추가하고 이동을 구현했던 내용을 C++로 구현해보겠습니다.
그전에 언리얼 엔진과 Visual Studio를 연동하여야 합니다.
연동하는 과정이 쉽지만은 않아 굳이 굳이 포스팅을 합니다.
❗연동 중 오류 시 기존 프로젝트가 폭파될 수 있습니다❗
❗백업을 하시거나 새로운 프로젝트를 생성하시길 바랍니다❗
또한 기존 Blueprint로 생성했던 프로젝트를 C++ 프로젝트로 전환하는 과정을 중점으로 작성되었습니다.
우선 Visual Studio 2022를 먼저 설치하겠습니다.
아래 링크로 이동하여 커뮤니티 버전으로 설치해주세요.
커뮤니티 버전으로 설치하시면 됩니다.
설치하다가 아래의 창이 뜰텐데 아래 사항들을 모두 체크확인해주세요.
그 후 우측 아래의 설치 or 수정을 눌러 설치를 마저 진행합니다. 👍
설치가 완료되면 Visual Studio를 실행 시켜 주세요.
그리고 코드를 사용하지 않고 계속을 눌러 진행합니다.
툴바 아래쪽의 바에서 우클릭을 해주세요.
그리고 가장 아래의 사용자 지정으로 이동합니다.
그럼 창이 하나 뜹니다.
1. [명령] 탭으로 이동
2. [도구 모음] 라디오 버튼 클릭
3. [표준] 선택
아래로 이동해서 [솔루션 구성] 항목을 찾습니다.
그리고 선택 사항 수정을 클릭해주세요
그럼 [선택 사항 수정] 창이 뜨는데 너비 값을 200으로 수정하고 창을 닫습니다.
이번에는 옵션을 수정합니다.
툴바의 [도구]에서 [옵션]을 선택해주세요.
그리고 [프로젝트 및 솔루션] 탭으로 이동합니다.
[오류로 인해 빌드가 종료될 때 항상 오류 목록 표시] 항목을 체크 해제 해줍니다.
Blueprint로 프로젝트를 하나 생성해줍니다.
❗연동 중 오류 시 기존 프로젝트가 폭파될 수 있습니다❗
❗백업을 하시거나 새로운 프로젝트를 생성하시길 바랍니다❗
프로젝트가 생성되면 [Tools]를 클릭 후 [New C++ Class]를 생성해줍니다.
테스트 용으로 Actor로 생성해줍니다.
경로에 한글이 있으면 에러가 날 수 있으니 확인해줍니다.
폴더나 변수명을 한글로 짓는 사람은 없겠죠..?
생성하면 2개 창이 뜨는데 모두 넘어 가줍니다.
그럼 Visual Studio가 켜집니다.
모두 로드되는 동안 대기를 해줍시다.
로드가 완료되면 이런 알림이 있는데 [설치]를 눌러 줍시다.
그럼 개별 구성 요소를 설치하는 창이 뜨는데 모두 체크 후 설치해줍시다.
언리얼 마켓 플레이스로 이동합니다.
그리고 Visual Studio Integration Tool을 검색해서 설치해주세요.
그리고 '엔진에 설치'를 눌러 본인 엔진 버전에 맞춰 설치해주세요.
저는 모두 설치가 끝나 아래처럼 나온 모습입니다.
그리고 프로젝트를 실행하시고 플러그인으로 들어 가주세요.
검색탭에서 Visual Studio를 검색하면 설치한 Visual Studio Integration Tool이 나타납니다.
체크해주세요
체크하시면 하단에 무슨 문구가 뜨면서 Restart Now가 나타납니다.
Restart Now 해주시면 됩니다.
Visual Studio와 언리얼 에디터를 모두 종료해줍니다.
그리고 다시 프로젝트를 시작하면 아래와 같은 알림이 뜨는데 Yes를 눌러 줍니다.
기다리시면 프로젝트가 시작되며 에디터가 켜집니다.
그리고 툴바에서 [Tools] 선택 후 [Refresh Visual Studio Project]를 선택해줍니다.
그리고 콘텐츠 브라우저에서 C++ Classes로 이동해 아까 생성한 C++ Class를 레벨에 더블클릭해주면 Visual Studio가 켜지는걸 확인할 수 있습니다.
레벨에 생성했던 C++ Class를 드래그해서 하나 배치해줍시다.
그리고 저장 후 Visual Studio는 켜 둔 상태로 언리얼 에디터를 종료합니다.
그리고 생성한 액터의 .cpp로 이동합니다.
.cpp의 이름은 당연히 C++ Class를 생성할 때 본인이 작성한 Actor의 이름일 겁니다.
저는 TestActor.cpp로 생성되어 있습니다.
BeginPlay() 부분에서 아래와 같은 코드를 작성하고 Ctrl + S를 눌러서 저장해줍시다.
UE_LOG(LogTemp,Warning,TEXT("Hello World");
코드를 작성했다면 상단의 초록색으로 있는 [실행버튼]을 클릭해줍니다.
[로컬 Windows 디버거] 버튼을 눌러도 에디터가 실행되나 디버깅 모드라서 변경사항이 저장되지 않습니다.
그럼 뚝딱 뚝딱 빌드가 실행되다가 언리얼 에디터가 켜집니다!
툴바에서 [Window] - [Output Log] 창을 추가해주시고 실행해주시면
로그 창에 Warning으로 설정한 "Hello World"가 출력되는 것을 확인할 수 있습니다!!
혹시 로그가 출력되지 않으신다면 레벨에 생성한 액터가 배치되었는지 확인해주세요.
연동은 어느 분야에서도 정말 복잡한 것 같습니다.
다음 포스팅부터는 Blueprint로 실습했던 내용들을 C++로 구현해보도록 하겠습니다.