학습 목표
1. Unreal Engine의 기본 개념과 역할에 대해 이해합니다.
2. 게임씬(Game Scene)의 개념과 게임개발에서의 중요한 부분에 대해 알아봅니다.
3. Unreal Engine이 게임 산업에서 사용되는 사례를 찾아보고 탐구합니다.
• 게임 엔진이란?
: 게임을 만드는 데 필요한 핵심 기능들을 미리 만들어 묶어놓은 소프트웨어 플랫폼이다. 게임 개발에 바탕이 되는 기술을 제공하여 개발 과정을 단축시키고 다양한 플랫폼에서 실행할 수 있게 해준다.
• Unreal Engine의 주요 기능
최근에 나온 게임인 Split Fiction도 언리얼 5로 개발되었는데 이 게임에서 사용된 기능을 예로 들면
1. 고퀄리티 3D 그래픽
2. 물리 및 시뮬레이션 시스템
3. 블루프린트 비주얼 스크립팅: 복잡한 게임 로직과 퍼즐 메커니즘을 효율적으로 구현한다.
4. 시퀀서: 영화같은 컷씬과 연출을 통해 몰입감을 높인다.
5. Nanite: 고해상도 모델을 실시간으로 렌더링하여 세밀한 환경을 구현한다.
6. Lumen: 실시간 글로벌 일루미네이션을 통해 두 작가의 세계가 교차하는 장면에서의 조명 변화를 자연스럽게 표현한다.
7. 레벨 스트리밍: 플레이어가 다양한 세계를 끊김없이 탐험할 수 있도록 지원한다.
• Unreal의 장점과 단점
| 장점 | 단점 |
|---|---|
| 고품질 그래픽 | 높은 하드웨어 요구사항 |
| 강력한 물리엔진 | 프로젝트 크기와 용량 |
| 다양한 플랫폼 지원 | 배우기 어려움 |
| 블루프린트 시스템 | 최적화 문제 |
• Unreal Engine으로 제작된 게임과 엔진의 역할 분석
1. Split Fiction
: 두 작가의 세계를 오가며 2명의 플레이어가 협력하는 복잡한 구조를 고퀄리티의 비주얼로 표현했다.
2. Dead by Daylight
: 물리 엔진과 애니메이션 시스템을 활용해 사실적이고 긴장감 넘치는 호러 환경을 구현하며, 멀티플레이어 온라인 게임에서도 원활한 게임 플레이를 제공했다.
게임 씬 (Game Scene)
게임 세계의 한 장면이나 장소를 나타내는 요소이다. 씬은 게임의 특정 레벨, 장소, 게임 플레이가 일어나는 공간을 포함할 수 있다. 각 씬은 게임의 진행에 따라 다양한 환경, 이벤트, 캐릭터와 상호작용을 제공하는 중요한 역할을 한다.
• Unreal Engine의 Game Scene 구성 요소
월드(World)
: 게임 씬을 구성하는 최상위 환경. 여러 레벨을 포함할 수 있으며, 게임의 전체 공간을 나타낸다.
레벨(Level)
: 게임 씬에서 구체적인 공간을 나타낸다. 하나의 씬이라 할 수 있으며, 캐릭터가 이동하거나, 퀘스트를 수행하는 특정 지역이다.
레벨 스트리밍: 여러 레벨을 동적으로 로딩해, 성능 최적화와 빠른 이동을 지원한다.
액터(Actor)
: 게임 씬 내의 모든 객체를 나타낸다. 액터는 3D 모델, 상호작용 가능한 오브젝트, 적 캐릭터, NPC 등 다양한 형태를 가질 수 있다.
액터는 Static Mesh Actor(정적 객체)와 Skeletal Mesh Actor(애니메이션이 있는 객체)로 나뉜다.
컴포넌트(Component)
: 액터를 구성하는 세부 요소. 액터의 기능과 속성을 정의하며, 컴포넌트를 통해 액터는 다양한 행동과 기능을 수행할 수 있다.
조명(Light)
: 씬 내의 빛과 그림자를 제어하여 분위기와 시각적 효과를 만든다. 조명은 게임의 미적 효과와 플레이어의 시각적 경험에 중요한 영향을 미친다.
카메라(Camera)
: 게임 씬을 플레이어에게 보여주는 시점을 결정한다. 카메라는 애니메이션과 스크립트에 따라 다양한 방식으로 제어될 수 있다.
네비게이션 메시(NavMesh)
: AI 캐릭터가 씬 내에서 이동할 수 있는 경로를 계산하고 정의한다. 이를 통해 적 AI나 NPC가 효율적으로 이동할 수 있다.
파티클 시스템(Particle System)
: 게임 씬 내에서 시각적인 효과를 만들기 위해 사용된다. 폭발, 불꽃, 연기, 물방울 등 다양한 특수 효과를 구현할 수 있다.
사운드(Sound)
: 씬 내에서 음향 효과를 처리한다. 배경음악, 효과음, 캐릭터의 대사 등 다양한 소리를 구현하여 게임의 분위기를 조성한다.
블루프린트(Blueprint)
: 게임 로직과 상호작용을 시각적으로 구현하는 도구. 프로그래밍 없이 게임의 상호작용과 이벤트 처리를 할 수 있다.