1. 학습 목표
- Unreal Engine의 기본 개념과 역할에 대해 이해합니다.
- 게임씬(Game Scene)의 개념과 게임개발에서의 중요한 부분에 대해 알아봅니다.
- Unreal Engine이 게임 산업에서 사용되는 사례를 찾아보고 탐구합니다.
1. Unreal Engine을 조사해요!
1. 게임 엔진이란
게임을 만드는 건 복잡한 일이다.
캐릭터를 움직이게 만들고, 배경을 그리고,
소리를 넣고, 규칙을 정하고
이를 구현하기 위해 많은 코드를 작성해야 한다.
게임 엔진은 이러한 필요한 기능들을 모아둔 하나의 '도구 상자'이다.
2. Unreal의 주요 기능
- 그래픽 렌더링
- 게임 화면에 보여지는 그림, 색깔, 빛, 그림자 등을 만들어 내는 기술이다.
- 물리 엔진
- 현실 세계의 물리적 법칙을 가상 세계에 적용하여 물체들이 더 자연스럽게 움직이도록 만들어 주는 기술이다.
- 물리적 법칙으로는 중력, 충돌, 관성 등이 존재한다.
- 사운드 엔진
- 게임 내 배경화면, 효과음 등을 재생하고, 3D 공간에서의 소리 위치를 조정한다.
- AI 시스템
- 플레이어와 NPC(Non-Player Character)가 서로 상호작용할 수 있도록 도와준다.
- NPC는 네비게이션 기능을 통해 게임 속 길을 찾아 다닐 수 있다.
- NPC는 행동 트리(Behaivor Tree) 기능으로 상황에 따라 다르게 행동할 수 있다.
- 비주얼 스크립팅
- 코드를 작성하지 않고 드래그 앤 드롭 방식으로 블록이나 노드를 연결하여 기능을 설계하는 방법이다.
- 시각적으로 구현 가능하여 디자이너와 협업에 용이하다.
- 복잡한 작업에는 제한적이다.
3. Unreal의 장단점
- 장점
- 다양한 분야 활용
- 게임 뿐만이 아닌 영화의 CG, 애니메이션 제작, 건축, 증강 현실 등 다양한 목적으로 사용된다.
- 광범위한 플랫폼 지원 (링크)
- PC (Windwo, macOS)
- 모바일 (Andorid, ios)
- 콘솔 (XBox, PlayStation, Xbox)
- XR (AR 및 VR)
- 다양한 분야 활용
- 단점
- 어려운 학습 난이도
- C++ 지식이 필요하다.
- 인터페이스와 워크플로를 익히는 데 시간이 필요하다.
- 높은 시스템 요구 사항
- 고품질 그래픽과 복잡한 물리 엔진 처리를 위해 높은 성능의 하드웨어가 필요하다.
- 어려운 학습 난이도
4. Unreal 게임 조사 후 엔진의 역할 분석
1. 퍼스트 디센던트
언리얼 엔진 5를 기반으로 한 3인칭 루트 슈터 게임으로
UE5의 다이내믹 글로벌 일루미네이션 및 리플렉션 시스템인 루멘으로 사실적인 전장을 구현하였다.
버추얼 섀도 맵(VSM) 기술을 사용하여 향상된 캐릭터 비주얼로 게임의 비주얼 퀄리티를 크게 향상 시켰다.
2. Kingmakers
언리얼 엔진으로 개발된 실시간 전력 게임으로
AI 시스템을 활용하여 수천 명의 병력이 동시에 싸우는 '리얼타임 시뮬레이션'을 구현하였으며
엔진 내에서 툴을 제작하여 게임 속 파괴 가능한 건물들을 자동으로 생성할 수 있도록 하였다.
3. 크로노 오디세이
언리얼 엔진 5를 기반으로 한 액션 MMORPG 게임으로
월드 파티션 기능을 활용하여 12제곱킬로미터가 넘는 오픈 월드를 구현하였으며
50만 개의 액터를 통한 몰입감 넘치는 모험적 요소와 커스터마이징에 기반한 액션 기반 전투메커니즘을 제작하였다.
2. 게임씬(Game Scene)의 개념 탐구
1. 게임씬이란
게임 속에서 플레이어가 볼 수 있는 '가상의 세계' 또는 '레벨'을 말한다.
게임 씬 안에는 캐릭터, 환경, 물체, 빛, 소리 등 모든 요소들이 모여 만들어지는 공간으로
플레이어가 게임을 진행하는 하나의 무대와 같다.
2. 게임씬의 역할
- 게임의 각 단계를 나누는 단위
- 메인 메뉴
- 게임 플레이
- 게임 오버
- ...
- 독릭접인 로직 처리
- 게임 플레이 장면에서는캐릭터 움직임, 적 AI, 점수 계산 등을 처리한다.
- 설정 화면에서는 버튼 클릭 이벤트 처리, 오디오 볼륨 변경 등을 처리한다.
- 리소스 관리
- 특정 장면에서 필요한 그래픽, 오디오, 스크립트, UI 요소 등을 불러오고 관리한다.
- Scene 전환 시 사용하지 않는 자원을 자동으로 해제하여 메모리 사용을 최적화한다.
2. 게임씬 구성 요소(월드, 액터, 라이트, 카메라 등)에 대해
- 월드 (World)
- 여러 개의 레벨을 관리한다.
- 액터 (Actor)
- 레벨에 배치할 수 있는 모든 오브젝트
- 카메라, 스태틱 메시, 플레이어 스타트 등이 해당된다.
- C++에서 'AActor'를 상속받은 클래스를 액터라 한다.
- 컴포넌트 (Component)
- 액터가 서브 오젝트로 어태치할 수 있는 오브젝트
- C++에서 'UActorComponent'를 상속받은 클래스를 컴포넌트라 한다.
- 라이트 (Light)
- 게임 월드에 조명을 제공하는 요소
- 라이트는 액터 또는 컴포넌트일 수 있다.
- 다양한 라이트 타입
- 디렉셔널 라이트 : 특정 방향으로 균일하게 빛을 방사하는 라이트 (태양)
- 포인트 라인트 : 특정 지점에서 모든 방향으로 빛을 방사하는 라이트 (전구, 촛불)
- 스팟 라이트 : 원뿔 모양으로 빛을 방사하는 라이트(손전등, 무대조명)
- 사각형 라이트 : 사각형 면적에서 빛을 방사하는 라이트 (실내 조명)
- 카메라 (Camera)
- 플레이어의 시점으로 플레이어가 월드를 보는 위치와 방향을 계산하는데 사용된다.
- 카메라는 액터 또는 컴포넌트일 수 있다.
'Unreal 부트캠프 > 사전캠프' 카테고리의 다른 글
| [사전캠프 퀘스트] 언리얼 엔진 5와의 첫 시간 (0) | 2024.12.10 |
|---|---|
| [사전캠프 퀘스트] 언리얼 엔진 에디터 기본 (2) | 2024.12.09 |
| [사전캠프 퀘스트] 내가 좋아하는 게임 상호작용 분석하기 (2) | 2024.12.06 |
| [사전캠프 퀘스트] 내가 생각한 게임 개발자는? (3) | 2024.12.05 |
| [사전캠프 퀘스트] Unreal 에셋 다운로드 및 인증하기 (3) | 2024.12.04 |