안녕하세요 저는 17년차 프로그래머이고
네오위즈 게임즈 전임 교수 등을 거쳐서
현재 크래프톤에 재직하고 있는 김주환이라고 합니다
언리얼 C++ 기초 강의를 시작하겠습니다
이 강의의 목표는
언리얼 엔진을 C++를 이용해서
프로그래밍을 하기 위한 기초 지식을 쌓기 위한 것입니다
그리고 언리얼 엔진의 가장 기본적인 설명을 드리겠습니다
시수는 4개의 시수로 되어있고
첫 번째 시수에서는
첫 강의에서는 C++ 문법 기초로서
비주얼 스튜디오와 언리얼 엔진을 설치하고
관련 설정을 하고
프로젝트 코딩을 하기 위한 프로젝트를 생성하고
액터를 생성해서
언리얼 로그를 통해서 로그를 출력하는 부분까지 진행하겠습니다
두 번째 강의는
자료형과 변수, 함수, 조건문, 반복문, 표현식까지
C++의 기본적인 문법들을 본격적으로 배우고
세 번째 시수는
배열, 포인터, 참조, 클래스, 객체 지향, 다용성 같은
C++의 나머지 부분들을 배우겠습니다
네 번째 시수에는
그것을 바탕으로 언리얼의 C++ 상속 구조를 한번 되짚어보고
U Property와 U function으로 대변되는
언리얼의 리플렉션 시스템을 들여다보겠습니다
마지막으로 간단히
언리얼에서 가장 일반적으로 많이 사용하게 되실 객체인
액터의 라이프 사이클을 한번 되짚어보도록 하겠습니다
언리얼 엔진과 비주얼 스튜디오 설치
그러면 언리얼 C++ 기초
첫 번째 강의 C++ 기초를 시작하겠습니다
이번 시간에는 마이크로소프트사의 비주얼 스튜디오를 설치하고
비주얼 스튜디오를 알아보고
언리얼 엔진도 설치하고
비주얼 스튜디오와 연동돼서 돌아가도록 해보겠습니다
언리얼 엔진 5 기준으로 강의를 할 것이고
언리얼 엔진은 아시다시피 에픽게임즈에서 만든
AAA급 게임을 주로 만드는 엔진이고
일단 언리얼 엔진이 설치되었으면 좋지만
설치되어 있지 않다면
아래에 있는 URL로 들어가서
언리얼 엔진을 설치를 해보겠습니다
일단 언리얼 엔진 홈페이지에 가셔서
아래 보이는 URL로 들어가셔서 웹페이지에서 보시면
이렇게 언리얼 엔진의 다운로드 페이지가 나옵니다
그런데 이게 가장 최신 페이지가 어떤 형태일지 모르지만
대부분의 엔진의 경우엔 엔진 홈페이지에 가면
좌하단에 있는 언리얼 엔진 다운로드 하기 같은 버튼이 있는데
그런 버튼을 누르시면 웹에서 다운받을 수 있습니다
언리얼 엔진 다운로드 페이지인데
좌상단에 있는 저 버튼을, 하늘색 버튼을 누르시면
다운로드가 시작됩니다
다운로드 이전에 에픽 홈페이지에 계정이 있으시면 로그인을 해주시면 되고
그렇지 않으시다면
로그인 계정을 만드시고 로그인을 하시면 됩니다
구글이나 다른 여타 애플 같은 방법을 통해서
연동해서 로그인을 하실 수도 있습니다
로그인을 하시고 exe 파일을 설치를 해서
설치가 끝나게 되면
언리얼 엔진을 런치하기 위한
언리얼 엔진을 가동시키기 위한 런처가 가동이 되는데
저 런처의 화면은 이렇게 구성되어 있습니다
여기에서 언리얼 엔진 쪽으로 들어가셔서
라이브러리 탭을 보시면
언리얼 엔진이 설치가 안되어 있을 겁니다
그러면 언리얼 엔진을 설치를 하시면
이전 화면과 다음 화면을 보시면
이전 화면은 언리얼 엔진이 설치가 되어있지 않은 화면이고
이 화면은 언리얼 엔진이 설치되어 있는 화면입니다
우상단의 실행 버튼을 보시면
현재 언리얼 엔진이 버전이 몇 개 설치되어 있는지 알 수 있습니다
이 화면은 언리얼 엔진 5.3.2가 설치된 화면이고
라이브러리에 언리얼 엔진 5.3.2와 실행 버튼이 있는데
언리얼 엔진 버전이 여러 개가 설치되어 있을 수도 있고
여러 개가 설치되면
가운데 있는 U 마크와 함께 있는 언리얼 엔진의 실행 버튼이
여러 개가 나오게 됩니다
하단에 있는 프로젝트들은
처음에 설치를 하셨다면 보이지 않을 내용이지만
프로젝트를 생성하고
생성했던 프로젝트의 내용들이
간략히 스크린샷과 함께 리스팅되어서 보여집니다
언리얼 엔진을 설치를 하셨으면
그 다음에 C++을 편집할 수 있는
편집기에 해당하는 IDE라고 하는데요
Integrated Development Environment인데
통합 개발 환경인 마이크로소프트 사의
Visual Studio 2022를 설치를 하셔야 됩니다
마이크로소프트 비주얼 스튜디오도 마찬가지로
마이크로소프트 홈페이지를 가시면
아래 있는 URL을 통해서 들어가시면
마이크로소프트 비주얼 스튜디오 커뮤니티의
설치 버전이 나오게 되고
설치 화면에 좌하단에 있는 다운로드 버튼을 누르시면
일단 비주얼 스튜디오 인스톨러가 설치가 되게 됩니다
비주얼 스튜디오 인스톨러는 이렇게 생겼습니다
현재는 지금 비주얼 스튜디오 2022가 설치되어 있기 때문에
비주얼 스튜디오 인스톨러 화면 밑에 사용 가능이라고 보여집니다만
처음에 설치를 하지 않으셨다면
저기 아무것도 없을 것이고
비주얼 스튜디오 2022를 설치하시면 됩니다
설치 버튼을 누르시면 이런 세부 페이지가 나오는데
여기에 있는 C++을 이용한 게임 개발
보시면 언리얼 개발 표시가 있습니다
이 형태로 그냥 C++을 이용한 게임 개발에만 체크를 해주시고
오른쪽 아래에 있는 다운로드 중에 설치를 누르시면
설치가 진행됩니다
설치 시간은 컴퓨터 사양이나 인터넷 사양에 따라 다르지만
대략적으로 20분 내지 40분까지 걸릴 수 있습니다
비주얼 스튜디오를 다 설치를 하고 나시면
2022 커뮤니티 버전의 경우에
비주얼 스튜디오가 자동으로 설치가 실행이 되며
이런 첫 화면이 나오게 됩니다
비주얼 스튜디오 2022 최근 파일 열기라고 되어 있고
오른쪽에 있는 메뉴들은
비주얼 스튜디오를 처음으로 프로젝트를 만들기 위해서
쓸 수 있는 메뉴들이고
좌측에는 만약 프로젝트를 만들었다면
최근 파일과 프로젝트들이 나타나게 됩니다
지금은 아무것도 없으므로
오른쪽 아래에 세 프로젝트 만들기를 누르면
비주얼 스튜디오를 이용해서 새로운 프로젝트를 만들 수 있습니다
다시 한번 확인을 드리면
일단 비주얼 스튜디오 2022 설치하는 방법은
마이크로소프트사의 홈페이지에 가셔서
다운로드 눌러서 비주얼 스튜디오 인스톨러를 다운로드 받고
인스톨러를 실행을 시키면
비주얼 스튜디오 2022 설치 메뉴가 나오고
그것을 통해서 설치를 할 수 있습니다
설치 과정 중에 언리얼 엔진에 대한
지원 내용을 체크하시면 됩니다
액터 생성 및 로그 출력
그러면 언리얼 엔진을 이용해서
C++ 프로젝트를 생성하는 것을 알아보겠습니다
아까 설치하셨던 언리얼 엔진의 런처를 가동하시면
이 화면이 나오게 되는데
우 상단에 있는 오른쪽 위에 있는 실행 버튼을 누르시거나
가운데 있는 버전별 실행 버튼을 누르시면
이렇게 프로젝트 설정 화면이 나옵니다
프로젝트 설정 화면의 좌측에 보시면
리센트 프로젝트라고 있는데
저것은 최근에 만들었던 프로젝트들이고
게임, 필름, 비디오, 아키텍처, 오토 모티브가 있지만
우리의 경우에는 게임즈 탭을 누르시면
가운데에 템플릿들이 나옵니다
템플릿은 프로젝트의 기본 설정을 미리 만들어 두신 것인데
저희의 경우에는 블랭크를 누르시면
오른쪽에 아무것도 없는 빈 바닥에 타일만 깔려있는
빈 프로젝트가 생성하는 화면이 나옵니다
그 아래에 블루프린트와 C++이 있는데
C++ 버튼을 선택을 해주시고
C++ 밑에 기본 세팅대로 두셔도 됩니다
스타터 콘텐츠를 체크하시면 기본 내용들이 포함이 되니까
스타터 콘텐츠만 누르시고 크리에이트를 누르시면 됩니다
아래쪽에 있는 프로젝트 네임이라고 있는데
저것은 그냥 마이 프로젝트인데
자신이 만들 게임이나 프로젝트 이름을 정할 수 있습니다
일단은 기본으로 하고 크리에이트를 하겠습니다
크리에이트 버튼을 누르시면
한동안의 시간이 지나고
언리얼 프로젝트가 언리얼 에디터를 통해서 열리게 됩니다
이 언리얼 에디터의 화면을 보시면
좌측에 있는 월드 뷰가 있고
가운데에 월드 아웃라이너
오른쪽에 디테일 화면이 있습니다
이제 이 언리얼 에디터에서 프로젝트를 생성해 보겠습니다
두 가지 단계로 나눠서 설명을 드릴 것인데
일단 액터 하나를 만들고 C++ 코드를 작성하는 곳까지 진행을 할 것이고
두 번째로는 헬로월드 로그를 로그 창에 출력을 해보겠습니다
액터 하나를 만드시려면 방법이 여러 가지가 있지만
일단 우리는 C++을 사용할 것이므로
상단의 메뉴에서
크리에이트 C++ 클래스를 누를 것입니다
누르면 이런 화면이 나옵니다
C++ 클래스를 만들 때 기본적으로 생성해주는 클래스를 지정할 수 있는데
이 경우에는 액터라는 것을 만들게 될 것입니다
지금 여기 보면 캐릭터, 폰, 액터 여러 가지가 있지만
일단은 처음이므로 액터를 선택합니다
액터의 이름을 정하실 수 있고
퍼블릭, 프라이빗 이런 건 다 냅두시고
이름만 정하시고 크리에이트 클래스를 누르시면
중단에 보이는 액터.header 파일과 액터.cpp가 생기게 됩니다
그리고 세팅에 따라 다를 수 있지만
비주얼 스튜디오가 연동이 되면서 프로젝트가 기동이 될 수도 있고
언리얼 화면 내에서 이런 라이브 코딩이라는
컴파일 도중에 보여지는 로그 파일인데
이 화면이 나올 수도 있습니다
이번에는 비주얼 스튜디오가 기동이 됐다고 가정을 했을 때
로그 출력을 한번 해보겠습니다
특별한 이유가 없이 설치를 잘 하셨으면
아까 액터를 크리에이트함과 동시에
비주얼 스튜디오가 기동이 돼서 이런 화면이 나오게 됩니다
만약에 이 소스 화면이 나오지 않으면
좌측의 솔루션 탐색기에서 파일을 선택해서 눌러보시면 됩니다
만약에 비주얼 스튜디오 창이 바로 자동으로 뜨지 않는다면
가운데 아래에 있는 컨텐츠 브라우저에서
방금 생성한 MyActor.c++ 파일을 찾아서
더블 클릭을 하시면 비주얼 스튜디오가 다시 뜨게 됩니다
아까 말씀드렸던 MyActor 파일들인데
MyActor 파일이 header 파일과 cpp 파일 두 개가 있는데
일단은 cpp 파일로 가시면
기본적인 액터가 행동을 해야 되는 내용들이 적혀있고
25번 줄에 supertick 함수 밑에서
밑에 줄에다가 코드 작성을 하겠습니다
아직은 c++를 배우지 않았기 때문에
많은 것을 알 수 없지만 간략한 설명을 드리면
MyActor의 tick이라는 부분은
매 시간, tick당 실행되는 코드입니다
그래서 저기에 로그 작성을 하고
매 tick당, 매 프레임 갱신당 문자가 출력이 되도록 할 것입니다
25번 줄에 다음과 같이 타이핑을 하시면 됩니다
UE_LOG 소문자 괄호 열고
LogTemp, Warning, TEXT "Hello World!"를 그대로 치시면 됩니다
코드를 간략히 설명드리면
프로그램을 개발할 때, 게임을 개발할 때는 로깅이라는 걸 해야 되는데
어떤 기능에 대해서 제대로 되고 있나
제대로 되고 있지 않은가
디버그 메시지 같은 것들을 기록으로 남기는 것을 로그라고 합니다
이 경우에는 테스트상 제대로 코드를 짰는지를 알기 위해서
hello world라는 문자열을 찍어보도록 합니다
보통 언리얼 에디터로 가면 자동으로 컴파일이 되지만
명시적으로 할 수도 있습니다
Ctrl + Alt + f11번을 아까의 언리얼 에디터로 돌아가셔서 누르시면
다음과 같이 코드가 컴파일되면서
언리얼 엔진이 갱신되게 됩니다
컴파일이 무사히 완료되었다면
언리얼 에디터로 돌아가셔서
아까 더블클릭을 할 때 설명드렸던 것처럼
가운데 있는 월드 아웃라이너 밑에
콘텐츠 브라우저에 있는 C++ 클래스를
타일이 깔려있는 3D 화면에 해당하는
저 뷰로 드래그를 하시면 됩니다
드래그를 하게 되면
월드의 화면에 보기로는 아무것도 추가가 된 것 같지 않아 보이지만
실제로 액터의 내용이 없기 때문에
액터의 물리적인 메쉬나 렌더러가 없기 때문에
화면에서 보여지지 않지만
가운데 있는 월드 아웃라이너에
마이 액터가 추가된 것을 보실 수 있습니다
월드 아웃라이너에 마이 액터가 정상적으로 추가가 되었다면
가운데 위쪽에 있는 녹색 플레이 버튼을 누르시면
언리얼 에디터가 액터가 들어가 있는 게임 프로젝트를 실행하게 됩니다
지금은 아무것도 만든 게 없기 때문에
카메라 정도로 이동시킬 수 있지만
우리가 만든 코드를 통해서
왼쪽 아래 보시면
노란색으로 헬로월드 로그가 찍힌 것을 볼 수 있습니다
지금까지 한번 언리얼 프로젝트를 만드는 것을 설명드렸는데
이 예제를 한번 천천히 따라해 보시고
원하는 목표는 어쨌든 언리얼 엔진을 설치하고
비주얼 스튜디오를 설치하고
언리얼 엔진 에디터의 로그창에 문자를 출력하는 것입니다
그래서 위에 보신 것처럼
오른쪽 아래에 노란색으로 헬로월드가 출력됐다면
언리얼로 C++ 프로그램 작성을
아주 기초적인 것을 성공한 것입니다
다음 시수 강의를 알려드리겠습니다
언리얼로 프로그래밍을 하려면
방금 전에 진행을 하셔서 실제로 로그를 찍어보셨지만
언리얼로 C++을 이용한 프로그래밍을 하시려면
C++에 대해서 잘 아셔야 됩니다
그래서 자료용 변수부터 시작해서
객체지향 프로그래밍으로서의 C++을
간략하게 설명을 할 것입니다
C++은 대학이나 학원에서
1년 정도 시간을 걸려서 배울 정도로
내용이 많고 복잡하고 어려운 언어인데
언리얼 프로그래밍을 하기 위한 것까지만
강의 내용을 함축해서 설명을 드리겠습니다
이번 시간에 배운 학습 내용을 정리해 보겠습니다
일단 우리는 Unreal Engine 5를 홈페이지에 가서 설치를 했고
Visual Studio 2022 커뮤니티를 설치했습니다
C++ 프로젝트 생성을 했고
C++ 코드 작성해서 Hello World 로그까지 출력을 해보았습니다
이상으로 첫 번째 강의는 마치겠습니다, 감사합니다
언리얼 엔진과 비주얼 스튜디오 설치 언리얼 엔진 다운로드 주소 https://www.unrealengine.com/ko
비주얼 스튜디오 다운로드 주소 https://visualstudio.microsoft.com/ko/vs/community/
액터 생성 및 로그 출력 프로젝트 생성하기 New C++ Class에서 Actor를 선택하고 Name을 작성한 후 Create Class를 클릭함
비주얼 스튜디오 창과 연동되어 나타남
'Hello World' 로그 출력하기 Tick 함수 밑에 UE_LOG(LogTemp, Warning, TEXT("Hello World!"))를 작성함
컴파일 후 Content Browser의 MyActor를 신으로 클릭 앤 드래그함 Output Log 창에 문자열이 출력되는 것 확인함
The End