UE5

Unreal Blueprint 입문

게임 개발 2023. 6. 14. 01:27

언리얼 엔진 다운로드 및 설치시 유의사항

 

프리뷰 버전

 

에픽은 새로운 버전의 엔진을 버그 테스트하기 위해 프리뷰 버전(Preview Version)을 올리는데,

최신 버전을 받되 프리뷰 버전을 받지 말자. 프리뷰 버전이 안정화되고 나면

언제나 새로운 엔진으로 업그레이드할 수 있다.

 

첫번째 프로젝트 만들기

 

UE4가 다운로드되면 첫 번째 프로젝트를 만드는게 게임을 만들기 위해서는 당연히 필요한 과정이다.

UE4를 처음 실행하면 프로젝트 브라우저가 나타난다.

프로젝트 브라우저는 프로젝트 탭을 가지고 있으며 여기서 작업하는 모든 프로젝트를 볼 수 있다.

 

새로운 프로젝트 탭은 이미 만들어져있는 게임 모드 템플렛을 기반으로 새로운 프로젝트를 만들 수 있다.

때문에 프로젝트 브라우저에서 해당 프로젝트를 클릭하면 그 프로젝트로 이동하게 된다.

 

프로젝트 브라우저

 

프로젝트 브라우저에서 새로운 프로젝트를 시작한다면 몇 가지를 선택을 해줘야한다.

 

먼저, 플프 기반으로 프로젝트를 만들 것인지, C++ 기반으로 프로젝트를 만들 것인지 부터이다.

현재는 블프를 기반으로 진행하고, 나중에 언리얼 엔진의 구조를 파악하고

C++로 넘어가도록 하겠다.

 

둘, 목표로 하는 하드웨어를 설정해줘야 한다.

가령 데스크톱/콘솔인지, 모바일/태블릿인지 결정해야 한다.

그리고 목표로 하는 그래픽스 설정도 해줘야 한다.

 

예를 들어 최대 품질과 2D 또는 3D 혹장 같은 설정들이 있다. 이러한 옵션들은

프로젝트의 기본 설정에서 바꿀 수 있다. 

 

마지막으로 기본적으로 제공하는 아트 콘텐츠를 사용할 것인지 아닌지를 결정한다.

만일 스타터 콘텐츠 포함을 사용하면 기본적으로 제공하는 애셋들을 사용할 수 있다.

 

블루프린트와 C++프로젝트

 

블프는 게임 프로젝트를 위해 비주얼 스크립팅이 가능하게 해준다.

반면 C++ 기반 프로젝트는 사용자가 스크립트 기능을 위해 예전에 하던 방식대로 코드를 작성해야 한다.

C++ 기반 프로젝트는 비주얼 스튜디오 2013과 같은 컴파일러가 필요하다. 이러한 코드를 다뤄본 적이 없거나

UE4를 한 번도 사용해보지 않았다면

C++ 기반의 프로젝트를 알아보기 전에 먼저 에디터와 워크플로우에 친숙해지는 것을 중점으로 접근하는 것이 좋다.

 

프로젝트 크기

 

프로젝트를 처음 만들고 나면 크기가 그다지 크지 않을 것이다.

하지만 프로젝트의 크기는 어떠한 콘텐츠를 담느냐에 따라 매우 빠르게 커질 수 있다.

가령 모델의 품질이 매우 높거나 텍스처 사이즈가 크다면 크기가 커질 수 있다.

또한 UE4는 작업할 때 자동 저장 혹은 백업을 하는데 이러한 파일들 역시 프로젝트의 크기를 크게 만들 수 있다.

물론 이러한 파일들은 뭔가 잘못된 것을 되돌릴 수 있으므로 많은 도움이 된다.

 

프로젝트 설정 수정하기

 

프로젝트를 생성한 후에도 목표로 하는 하드웨어나 그래픽스 품질 같은 프로젝트 설정을 변경할 수 있다.

메인 메뉴의 Edit 탭에 있는 프로젝트 설정 (Project Settings)에서 프로젝트 설정을 수정할 수 있다.

 

인터페이스 학습

 

UE4를 설치하고 첫 번째 프로젝트를 만들어보았다.

이제 본격적으로 작업을 시작하자.

이전에 말했듯이 UE4는 다양한 게임 및 프로그램 개발을 위한 에디터 및 툴의 모음집이다.

지금은 메인 인터페이스의 핵심 영역에 집중해 레벨을 돌아다니는 방법을 학습할 것이다.

레벨 에디터라고 불리는 메인 인터페이스는

월드와 레벨을 만들고 애셋을 배치할 수 있게 해주는 아주 기본적인 인터페이스다.

 

에디터의 메인 인터페이스는 일곱 개의 패널메뉴 바, 모드 패널, 아웃 라이너 패널,

디테일 패널, 콘텐츠 브라우저 패널, 레벨 에디터 툴바, 뷰포트 패널을 가지고 있다.

각각의 패널들에 대해 알아보자.

 

인터페이스 레이아웃

에디터 인터페이스의 레이아웃은 변경할 수 있다.

패널, 윈도우의 위치를 바꿔서 워크플로우를 개선할 수 있다.

현재는 기초를 닦는 과정이라, 모든 인터페이스는 일관성을 위해 기본 레이아웃을 사용했다.

하지만 앞으로 개발 경험이 많아진다면 생산력을 높이기 위해 원하는 대로 레이아웃을 바꿔도 괜찮다.

 

첫 번째 메인 인터페이스 패널인 메뉴 바

 

메뉴 바는 최근 컴퓨터 프로그램에서 가장 일반적으로 사용되는

인터페이스로서 파일, 수정, 창, 도움같은 메뉴로 이뤄진 인터페이스다.

파일은 프로젝트와 레벨을 저장하거나 로딩하는 데 사용되는 조작을 담고 있으며,

수정, 복사, 붙여넣기 또는 프로젝트 설정이나 환경 설정 같은 항목을 담고 있다.

창의 경우 뷰포트 혹은 다른 패널들을 여는 기능을 찾고 있는데

어떠한 윈도우나 패널을 사용자가 닫아서 찾아볼 수 없다면

창 메뉴에 들어가서 해당 윈도우를 다시 열 수 있다.

마지막으로 도움 메뉴는 외부 리소스의 링크, 예를 들어 도움말이나 튜토리얼과 같은 문서의 링크를 담고 있다.

 

두 번째 메인 인터페이스 패널인 모드 패널

 

모드 패널은 레벨 에디터의 다양한 에디팅 모드를 보여준다.

모드 패널에서 특정 타입의 액터나 지오메트리를 수정할 수 있게 해준다.

 

여기서 엑터란 무엇인가?

 

새로운 소프트웨어를 학습할 때 핵심은 인터페이스, 워크플로우, 용어를 학습하는 것이다.

언리얼은 매우 많은 용어들이 있는데 차근차근 알아가 볼 것이다. 

먼저 엑터가 있는데 이것은 레벨에 배치할 수 있는 애셋이다.

예를 들어 콘텐츠 브라우저 패널에서 스태틱 메시 애셋과 같은 3D 모델이 있는데

이것이 레벨에 배치가 되면 스태틱 메시 엑터라고 부른다.

 

모드 패널은 레벨 에디터를 위한 다양한 툴 모드로 이뤄져 있다.

여기에서 새로운 애셋을 월드에 배치하고자 작업을 하거나 지형을 그리거나 브러시를 사용해

지오메트리를 생성하고 볼륨을 만들어낼 수 있다. 또한 폴리지, 메시에 그리기와 같은 작업을 할 수 있다.

 

지오메트리란?

Geometry는 

입체, 표면, 선, 각도의 관계, 특성, 및 측정에 대해 연구하는 수학의 분야,

크기의 관계 및 특성을 다루는 과학, 공간 관계의 과학

 

또한 폴리지(잎) 메시에 그리기와 같은 작업을 할 수 있다.

 

동작 효과
Place mode(배치 모드) 씬에 엑터를 배치할 수 있다.
Paint mode(그리기 모드) 스태틱 메시 액터에 버텍스 색상을 그릴 수 있다.
Landscape mode(랜드스케이프 모드) 랜드스케이프 지형 액터를 수정할 수 있다.
Foliage mode(폴리지 모드) 레벨에 있는 인스턴싱된 폴리지를 그릴 수 있다.
Geometry Editing mode(지오메트리 수정 모드) 버텍스 에지 페이스 수준에서
BSP 브러시 액터를 수정할 수 있다.

그림 1.5 모드 패널

 

 

세 번째 메인 인터페이스 패널인 월드 아웃라이너 패널

 

월드 아웃라이너 패널은 계층 트리 뷰 안에 있는 현재 레벨의 모든 엑터를 보여준다.

월드 아웃 라이너 패널에서 이름을 선택해 액터를 선택할 수 있고

디테일 패널에서 속성들을 볼 수 있다. 이름을 더블 클릭하면 뷰포트 패널에서 해당 애셋을 포커싱해준다.

 

 

레벨이란?

언리얼에서 레벨은 흔히 게임 개발할 때의 Scene(씬)과 같은 개념이다.

에픽 게임즈에서는 다음과 같이 정의한다.

 

비디오 게임을 플레이할 때,

월드에서 보거나 만지는 모든 오브젝트는 Level, 레벨이라 불리는 것에 들어있습니다.

언리얼 엔진 4 용어로 레벨이란 스태틱 메시, 볼륨, 라이트, 블루프린트 등으로 이루어진 것으로,

이 모든 것이 어우러져 플레이어에게 바람직한 경험을 선사해 줍니다.

UE4 의 레벨 규모는 거대 지형 기반 월드에서 미니 게임 하나면 꽉 찰 매우 작은 레벨까지 이릅니다.

 

즉 우리가 게임을 할 때 플레이 하는 화면을 이야기한다.

여기에 게임에 필요한 여러 요소들 (맵, 캐릭터, 버튼 등등...)을 배치해서 게임을 할 수 있다.

 

그림 1.6 월드 아웃라이너 패널

 

네 번째 메인 인터페이스 패널인 디테일 패널

 

디테일 패널은 언리얼 엔진을 다루면서 가장 많이 사용하게 될 부분이다.

모든 에디터에는 디테일 패널이 있는데

디테일 패널은 뷰포트에서 선택된 액터들의 수정 가능한 모든 속성을 보여준다.

속성들은 선택된 액터에 따라 다르게 나타난느데,

공통으로 사용되는 속성들도 볼 수 있다.

일반적인 속성은 액터의 이름과 이동, 회전, 스케일하기 위한 트랜스폼 에디트박스와

렌더링에 관련된 속성들이 있다.

 

액터 선택하기

 

액터를 선택하려면 뷰포트에서 액터를 선택하거나

월드 아웃라이너 패널에서 선택한다.

그러고 나면 액터가 하이라이트되고 이것의 기본 정보들이

디테일 패널에 나타난다. 물론 하나 이상의 액터를 선택할 수도 있다.

 

뷰포트와 월드 아웃라이너 패널에서 ctrl 또는 shitf 키를 누른 채로 액터를 선택해 하나 이상의

액터를 선택하거나 비선택할 수 있다.

 

뷰포트에서 ctrl + alt 키를 누른 채로 클릭한 후 드래그해서 움직이면

바운딩 박스가 나타나는데 이렇게 해서 박스 안에 들어간 다수의 액터를 동시에 선택할 수 있다.

그림 1.7 메인 에디터 디테일 패널

 

 

 

다섯 번째 메인 인터페이스 패널인 콘텐츠 브라우저 패널

 

 

 

콘텐츠 브라우저 패널은 프로젝트의 애셋들을 관리하는 영역이다.

이곳에서 콘텐츠에 관련된 일반적인 태스크들, 예를 들어 애셋 만들기,

보기, 수정하기, 불러오기 관리 등을 할 수있다. 콘텐츠 브라우저에서 애셋들을 관리하기 위한

폴더를 만든다거나 기본적인 동작들, 예를 들어 참조 보기, 이동, 복사, 이름 바꾸기와 같은 작업을 할 수 있다.

콘텐츠 브라우저를 애셋에 관련된 장난감 박스라고 생각하는 것이 도움이 될지 모르겠다.

언제나 장난감 박스에서 원하는 애셋을 꺼내 레벨에 배치할 수 있다.

레벨에 배치돼 애셋이 인스턴스화되면 이것은 액터가 된다.

이것은 애셋의 복사본이며 액터가 만들어진 후 디테일 패널에서 속성을 수정할 경우

이것은 오직 해당 인스턴스에만 적용된다.

 

콘텐츠 브라우저의 왼쪽에 있는 것을 소스 패널이라고 하는데

여기에서 콘텐츠의 폴더 구조를 볼 수 있다.

소스 패널은 초록색으로 보이는

Add New 버튼 아래쪽에 있는 왼쪽 상단 아이콘을 클릭해 확장하거나 축소시킬 수 있다. 

콘텐츠 브라우저의 오른쪽은 애셋 관리 영역인데, 여기서 소스 패널에서 선택된 폴더 안에 있는 애셋들을 볼 수 있다.

그림 1.8 참고

그림 1.8 콘텐츠 브라우저 패널. 왼쪽에는 소스 뷰, 오른쪽에는 애셋 관리 영역이 나타나 있다.

 

폴더 구조

프로젝트는 매우 빠르 속도로 복잡해질 수 있으므로 파일들을 잘 조직화해서

효과적으로 관리하는 것이 매우 중요하다.

경험상 애셋들은 타입으로 구별해 각각의 개별 폴더로 분리하는 것이 좋다.

폴더는 내부적으로 다른 폴더를 다시 포함할 수 있으므로 이것을 이용해 프로젝트 구조를 잘 유지하자.

 

 

 

여섯 번째 메인 인터페이스 패널인 콘텐츠 뷰포트 패널

 

뷰포트는 만들어내는 가상의 세계를 보여주며 뷰포트를 통한 현재 레벨을 돌아다닐 수 있다.

뷰포트 패널은 매우 다양한 모드, 레이아웃, 설정들을 가지고 있는데,

이 모든 것들은 레벨을 만들거나 수정하거나 관리하는 데 도움을 준다.

 

그림 1.9 뷰포트 패널

 

뷰포트 패널 레이아웃

 

기본적으로 뷰포트 패널은 하나의 퍼스펙티브 뷰(원근 뷰)만 보여준다.

하지만 언제든지 둘 혹은 그 이상으로 레이아웃을 바꿀 수 있다.

뷰포트 드롭다운 메뉴에서 레이아웃을 선택한 후 원하는 포맷을 선택하면 된다(그림 1.10 참조).

뷰포트에서 각 패널은 다른 뷰 모드로 변경할 수 있다.

 

뷰포트 타입

 

뷰포트 타입(종류)에는 원근과 직교라는 두 가지가 있다.(그림 1.11 참조).

원근 뷰포트는 월드를 표현할 때 소실점을 사용하고

직교 뷰포트는 월드를 표현할 때 도식으로 표현한다.

작업할 때는 보통 원근 뷰를 사용할 것이고, 직교 뷰는 액터를 미세 조정할 때 좋다.

 

그림 1.10 뷰포트 패널 레이아웃 옵션들
그림 1.11 뷰포트 뷰 타입 설정들

 

뷰 모드와 비주얼라이저

 

뷰 모드(그림 1.12 참조) 는 뷰포트에서 뷰 타입에 상관없이 월드의 표현법을 바꾸며

레벨의 상태에 관한 중요한 피드백을 제공한다.

표 1.2에 일반적으로 사용하는 뷰 모드를 나타냈다.

그림 1.11 뷰 모드들

 

표 1.2 뷰포트의 일반적인 뷰 모드들

모드 효과
라이팅 포함 머터리얼과 라이트가 적용된 최종적인 씬(Scene)을 보여준다.
라이팅 제외 씬에서 라이트를 모두 없애고 머터리얼에 설정된 기본 색상만 보여준다.
와이어프레임 씬에 있는 모든 액터들의 폴리곤을 보여준다.
디테일 라이팅 머터리얼에 적용된 노말맵(normal map)을 사용한 전체 씬을 보여준다.
라이팅만 노말맵 데이터를 사용하지 않고 라이팅만 적용된 씬을 보여준다.

 

시각화

 

13개 이상의 다양한 뷰 모드가 있고 다른 시각화 (visualization) 도구도 사용 가능하다.

레벨의 피드백을 얻고 디버그 및 문제 해결을 위해 이러한 도구를 사용할 수 있다.

 

표시 플래그

 

뷰 모드와 마찬가지로 표시 플래그는 레벨 뷰포트에 직접적으로 관련된 정보들을 보여준다.

예를 들면 액터의 충돌 박스와 같은 것들이다.

 

원근 뷰포트에서 씬 둘러보기

 

메인 인터페이스의 핵심 영역들을 알아봤으니 이제 뷰포트를 사용해 레벨을 돌아다니면서 친숙해지자.

표 1.3과 1.4는 뷰포트에서 사용할 수 있는 일반적인 컨트롤을 보여준다.

 

컨트롤 동작
원근 뷰
클릭 + 드래그 뷰포트 카메라를 앞, 뒤로 움직이거나 왼쪽, 오른쪽으로 회전한다.
오른쪽 클릭 + 드래그 앞, 뒤로 움직이지 않은 상태로 카메라를 회전한다.
마우스 왼쪽,
오른쪽 버튼 동시누름 
+ 드래그
뷰포트 카메라를 위, 아래로 움직인다.
직교 뷰 (탑, 앞, 옆)
클릭 + 드래그 선택 박스를 만든다.
오른쪽 클릭 + 드래그 직교 뷰를 왼쪽, 오른쪽으로 이동한다.
마우스 왼쪽,
오른쪽 버튼 동시 누름 +
드래그
직교 뷰를 확대, 축소한다

 

 

레벨 내비게이션

 

3D 모델링 애플리케이션과는 다르게 하나의 에셋을 만들면서 해당 오브젝트를 주위로 움직이는 것이 아니라

언리얼 엔진의 뷰포트에서 움직임은 레벨 전체를 디자인하기 편하게 동작한다.

즉, 매우 큰 영역(레벨)을 쉽게 이동하는 것이 핵심이다.

 

표 1.4 궤도(Orbiting), 달리 (Dolly), 트랙 (Track) 뷰포트 컨트롤

컨트롤 동작
F F 키를 누르면 뷰포트에서 선택된 액터로
뷰포트 카메라를 포커싱한다.
Alt + LMB(마우스 왼쪽 버튼)
+ 드래그
단일 피벗 또는 관심 지점을 중점으로 뷰포트를 회전한다.
Alt + RMB(마우스 오른쪽 버튼)
+ 드래그
단일 피벗 또는 관심 지점을 향해 카메라를 돌리거나 줌한다.
Alt + MM(마우스 가운데 버튼)
+ 드래그
마우스 움직임 방향으로 카메라를 왼쪽, 오른쪽, 위, 아래로 이동한다.

 

게임 스타일 내비게이션

 

원근 뷰에서 작업할 때 마우스 오른쪽 버튼을 누른 채로 W, A, S, D 키를 누르면

1인칭 슈터 게임에서 캐릭터를 움직이는 방식으로 레벨을 돌아다닐 수 있다.

 

레벨 에디터 툴바

 

레벨 에디터 툴바는 일반적으로 사용되는 도구 및 작업들, 

예를 들어 현재 레벨 저장, 스태틱 액터들을 위한 미리 계산된 라이팅 굽기,

에디터 속성 변경, 레벨 플레이 테스트와 같은 기능들에 빠르게 접근할 수 있게 해준다.

그림 1.13에 레벨 에디터 툴바의 모습을 나타냈다.

 

그림 1.13 레벨 에디터 툴바

 

레벨 플레이 테스트

 

새로운 프로젝트를 만들었을 때 기본적으로 레벨이 만들어져 있으며,

이것은 에디터를 처음 실행했을 떄 화면에서 볼 수 있다.

레벨을 플레이 테스트하게 되면 화면을 돌아다닐 플레이어를 위해 입력 시스템을 사용하게 된다.

레벨 플레이 테스트에는 여러 모드들이 존재하는데 (그림 1.14 참조)

현재는 PIE(Play Editor)(에디터 내부에서 플레이) 모드를 사용하자.

이때 PIE 모드에는 Selected Viewport(선택된 뷰포트)와 New Editor Window(새로운 에디터 윈도우)가 있으며,

Play 아이콘을 클릭해서 레벨을 플레이 테스트하거나 Play 아이콘의 오른쪽에 화살표가

그려진 드롭다운 메뉴 버튼을 클릭해 원하는 플레이 모드를 선택할 수 있다.

 

그림 1.14 플레이 모드

레벨의 플레이 테스트

 

기본 플레이 모드는 마지막으로 플레이 테스트했던 모드로 설정되는데,

다른 플레이 모드로 게임을 play 아이콘의 오른쪽에 있는

드롭다운 버튼을 선택해 다른 플레이 모드를 직접 선택해줘야 한다.

 

 

 

요약

 

지금까지 언리얼 엔진을 다운로드해 설치해봤고

메인 인터페이스를 다뤄보며 익숙해지는 시간을 가졌다.

다음으로는 새로운 프로젝트를 만들고 뷰포트에서 레벨을 둘러보거나 테스트해봤다.

이 기능들에 익숙해질수록 실력이 향상될 것이다.

 

질문 및 답변

 

질문 : 에픽 게임 런처는 무슨 용도인가?

 

답변 : 에픽 게임 런처는 프로젝트를 관리하고 마켓플레이스를 활용해

콘텐츠를 다운로드 하거나 지속해서 UE4를 업데이트할 수 있도록 해준다.

 

질문 : UE4는 어디에 설치되는가

 

답변 : UE4는 런처가 설치된 위치와 같은 곳에 설치된다.

 

질문 : 프로젝트는 어디에 서장해야 하는가?

 

답변 : 프로젝트는 충분한 공간이 있고 접근하기 쉬운

하드 드라이브 아무 곳에나 저장할 수 있다.

 

연구

 

이번 시간을 마쳤으니 다음 질문들에 답할 수 있는지 확인해보자.

 

퀴즈

 

1. 참 또는 거짓 : 모드 패널에서 다양한 에디팅 모드를 변경할 수 있다.

참. 모드 패널에서 액터 배치, 지형 생성, 폴리지 생성과 같이

에디팅 모드를 변경할 수 있다.

 

2. 뷰포트의 선택된 액터를 포커싱하려면 무슨 키 또는 무슨 키를 조합해야 하는가?

F 키를 누르면 뷰포트의 선택된 액터를 포커싱한다.

 

3. 참 또는 거짓 : 레벨에 배치된 모든 애셋은 액터다.

참. 타입에 관계없이 애셋이 레벨에 배치되고 나면 원본 애셋의 인스턴트는 액터다.

 

4.________에서 새로운 프로젝트를 만들거나 관리한다.

프로젝트 브라우저. 다수의 프로젝트를 한 번에 작업할 수 있다.

프로젝트 브라우저를 사용하면 프로젝트 간에 전환할 수 있다.

 

5. 참 또는 거짓 : 메인 인터페이스의 레이아웃은 원하는 대로 변경이 가능하다.

참. 패널의 탭을 클릭하고 드래그해 원하는 위치로 이동할 수 있다.

 

6. 참 또는 거짓 : PIE는 Play In Editor의 약자다

참 PIE는 Play In Editor의 약자다.

레벨은 독립된 윈도우나 선택된 뷰포트에서 미리보기 가능하다.

 

연습

 

UE4의 인터페이스에 더 친숙해지도록 시간을 투자해보자.

이번 연습으 ㄹ통해 새로운 레벨을 만들고 액터를 배치하고 레벨을 저장하는 연습을 해보자.

이것은 매우 간단하지만 아주 기본적인 기술이며

기본에 충실할수록 더 성공적으로 언리얼 엔진을 사용할 수 있을 것이다.

 

1. File > New Level 또는 Ctrl + N 키를 눌러 새로운 기본 레벨을 만든다.

 

2. 라이트 액터를 레벨에 배치한다. 모드 패널으 Place 탭으로 가면 된다.

 

3. 레벨에 스태틱 메시 애셋을 배치한다.

콘텐츠 브라우저에서 StarterContent 폴더 안에 있는 애셋을 찾을 수 있다.

 

4. 레벨을 저장하고 콘텐츠 브라우저에서 마수으 왼쪽 버튼을 누른 후 Add New Folder를 선택해

새로운 폴더를 만든다. 그리고 이름은 Maps로 설정한다.

 

5. 방금 작업한 레벨을 Maps 폴더에 저장한다.

Flie > Save를 선택하면 된다.