[해당 포스팅은 언리얼 엔진의 공식 문서 유니티 개발자를 위한 언리얼 엔진 4와 다른 문서, 다양한 블로그 내용을 참고하여 작성되었습니다]
필자가 게임 개발 경험이 없는 것은 아니지만 전혀 다른 환경을 적응하는 것엔 누구나 그렇듯 적응할 기간이 필요하다. 이때 빠르게 적응할 수 있는 방법 중 하나는 기존에 본인이 사용하던 솔루션과 새로운 솔루션의 비슷한 기능을 대응하여 배워나가는 것이다.
필자는 여태껏 Unity 엔진을 사용해왔고, 이 지식들을 기반으로 Unreal 엔진을 쉽게 이해해보자.
가장 먼저 언리얼 엔진 에디터를 실행하면 위와 같은 레벨 에디터 화면이 스크린에 출력될 것이다. 두 엔진 에디터에서 비슷한 기능을 하는 레이아웃끼리 같은 색깔로 표현하였고, 이들의 간단한 설명은 다음과 같다.
유니티 | 언리얼 | 설명 |
---|---|---|
Toolbar | Main / Modes Toolbar | 자주 사용되는 툴, 기능을 빠르게 사용할 수 있게 해주는 명령 모음 |
Scene | Viewport | 에디터 안에서 게임 월드를 자유롭게 관찰하는 창 |
Hierarchy | World Outliner | 게임을 구성하는 모든 요소(오브젝트)들을 관리하는 창 |
Project | Content Browser | 프로젝트가 구성하는 모든 파일(에셋 포함)을 관리하는 창 |
Inspector | Details | 월드 내 특정 요소의 상세 정보를 관리하는 창 |
유니티 | 언리얼 | 설명 |
---|---|---|
Scene | Level | 엄밀히 따지면 언리얼 엔진의 Level은 '맵'에 가깝다. 월드에서 활동 가능한 개체를 제외한 모든 요소의 집합을 말한다. |
GameObject | Actor | 월드에 배치할 수 있는 플레이어, 사물, 몬스터 등의 모든 개체. 실제로 월드에 배치된 액터는 인스턴스라고 부른다. |
Prefab | Blueprint Class | 요소를 월드에 배치하기 위해 구현하는 게임플레이 요소 |
Component | Component | 독립적으로는 존재할 수 없지만 월드 내의 요소에 부가적인 기능을 부여하는 함수성 조각 |
Unity C# Script | Blueprint | 언리얼 엔진은 기본 C++ 스크립트 외에도 노드 기반 비주얼 스크립팅 시스템인 Blueprint을 제공한다. |
유니티 | 언리얼 | 설명 |
---|---|---|
Field | Property | 액터를 구성하는 변수 |
UI | UMG(Unreal Motion Graphic) | UMG는 언리얼 엔진의 UI 디자이너로써, HUD, 메뉴, 기타 인터페이스 등의 그래픽 요소를 제작하는 툴 |
Shader | Material | 쉐이더를 활용해 오브젝트의 색상, 재질 등의 시각 정보를 조절하는 에셋 |
Material | Material Instance | 비싼 머티리얼 생성 프로세스를 관리하여 속도를 향상시킨 특수 유형 머티리얼 |
Raycast | Line Trace | 특정 지점에서 보이지 않는 광선을 쏴 무언가를 탐지하는 기술 |
Rigidbody | Collision, Physics | 게임에 사용되는 충돌, 물리 효과 |
유니티 | 언리얼 | 설명 |
---|---|---|
Awake() | PostInitializeComponents() | 게임이 시작될 때 오브젝트가 게임에 참여하기 위한 세팅이 완료되면 최초 1회 실행하는 함수 |
Start() | BeginPlay() | 게임 시작 후 게임에 참여한 오브젝트가 최초 1회 실행하는 함수 |
Update() | Tick(float DeltaTime) | 월드에 있는 오브젝트가 활성화되어 있을 때 매 프레임마다 실행하는 함수 Tick()의 매개변수 DeltaTime는 직전 Tick() 호출부터 지금 Tick() 호출까지 경과한 시간을 알려준다. |
이외에 무수히 많은 기술, 기능에 사용되는 용어들이 있지만 가장 대표적인 것들을 추려보았다. 우선 전반적인 시스템을 이해하는 것이 우선이라면 위 내용들만으로도 충분할 것이다.
다른 용어들은 언리얼 엔진의 기반을 다진 후 심화적인 개발에 들어서면서 차차 배워보자.