[사전캠프 퀘스트] Unreal이란 무엇인가요?

2024. 12. 5. 11:51·스파르타 코딩 언리얼 1기

1. Unreal Engine을 조사해요!

Unreal Engine이 무엇인지 간단히 설명하고, 게임 엔진으로서의 역할을 조사해요.

  • 게임 엔진이란 무엇인가요?
    • Framework : 어떤 프로그램을 개발하기 위한 도구들의 모음(클래스, 라이브러리) 정도로 이해하면 된다. 특정한 방법으로 개발을 유도한다.
    • Engine : Framework 중에서도 특정한 역할에 더 집중한 Framework 정도로 이해하면 된다.
    • Game Engine : 게임 제작에 특화된 Tool, 라이브러리, 클래스, 구조를 제공한다.
      • Unreal Engine, Unity, Godot, RE Engine 등 다양한 게임 엔진이 존재한다.

 

  • Unreal Engine의 주요 기능(그래픽 렌더링, 물리 엔진, 비주얼 스크립팅 등)을 간략하게 설명해주세요. 내가 하는 게임으로 예시를 들어주신다면 베스트 입니다!
    • 그래픽 렌더링
      • Lumen : UE5에서 추가된 Dynamic Global Illumination과 Reflection에 대한 시스템. UE5에서는 새로 만든 프로젝트의 경우, 기본적으로 활성화되어 있다.
        • GI, Reflection 지원
        • Shadow Skylight
        • Emissive가 Scene을 밝힐 수 있음.
      • Ninite : 가상화 지오메트리 시스템. DirectX12에서 추가된 Meshlet 기반의 기술로, 메시의 지오메트리를 자르고 이를 가시성에 따라서 렌더링하는 것이 핵심이다. 사람이 이를 하기에는 무리가 있기에 UE5에서는 Ninite Importer를 이용하여 자동으로 Mesh(현재는 Static Mesh만 지원된다.)를 쪼개 이를 가능하게 한다. UE5에서 나나이트의 지원을 통한 장점은 다음과 같다.
        • 실시간으로 구현할 수 있는 트라이앵글과 오브젝트의 수 증가
        • 프레임 예산이 더 이상 폴리곤 수, 드로우 콜, 메시 메모리 사용에 의해 제한되지 않음.
        • ZBrush 스컬프팅 및 사진측량 기술 스캔 등의 영화 수준의 소스 아트 임포트 가능
        • 노멀 맵 텍스처에 디테일을 굽는 대신 하이 폴리 디테일 사용 가능
        • LOD가 자동으로 처리되며 더 이상 개별 메시의 LOD를 수동으로 구성할 필요가 없음.
        • 퀄리티 손실이 거의 발생하지 않으며, LOD 트랜지션의 경우 더욱 그러함.
        하지만 한계도 존재하는데, 인스턴스 수, 메시 당 트라이앵글, 머티리얼의 복잡도, 출력 해상도, 퍼포먼스가 콘텐츠 및 하드웨어 조합에 따라 측정되어야 한다. 그리고 스켈레탈 메시에 대한 나나이트는 아직 지원되지 않고 있다.
      • Physically Based Rendering : 물리 기반 렌더링을 통한 사실적인 그래픽의 표현이 가능하다. 기존 Phong Shading과는 다르게 물체의 재질을 표현함에 있어 물체의 거칠기(Roughness), 메탈릭을 반영하고 이를 이용한다. Unreal Engine의 경우 5에서 Reflection과 DGI를 다루는 루멘이 추가되었다.
    • 물리 엔진
      • Chaos Phisics : 기존 PhysX에서 카오스로 물리 엔진이 변경되었다. 이를 통해 시네마틱 퀄리티 수준의 디스트럭션 지원, 더 향상된 Cloth 시뮬레이션, 게임스레드가 아닌 별도의 물리 연산용 스레드에서 작동 등을 통해 예측 가능한 물리 연산 값을 얻을 수 있다.
    • 비주얼 스크립팅
      • Blueprint : 비주얼 스크립팅 시스템으로 에디터 내에서 노드 기반 인터페이스를 사용하여 게임플레이 요소를 만들 수 있다. 프로그래머가 없으면 힘들었던 개념 구현이나 툴 작업에 대한 것을 디자이너 스스로 해낼 수 있게 해준다. C++ 에서 구현한 것을 상속받아 블루프린트에서 추가적으로 디자이너가 확장하는 것이 가능하는 등의 유연한 시스템이다.
  • Unreal의 장점과 단점은 무엇인가요?
    • 장점 : 다양한 기능의 제공. 높은 퀄리티의 시각적 표현을 제공한다.
    • 단점 : 숙련이 어렵고, 높은 퀄리티를 표현하기 위해서는 그만큼 높은 퀄리티의 그래픽 소스가 필요하다. 이로 인해서 숙련자가 Unity에 비해 적고, 제작비가 높다. 빠른 프로토타이핑이 어렵다.
  • Unreal Engine으로 제작된 대표적인 게임 2~3개를 조사하고, 해당 게임에서 Unreal이 어떤 역할을 했는지 분석하세요.
    • 포트나이트 : 출시 초에는 UE4로 개발되었으며 현재는 UE 5를 이용하여 개발되고 있다. 포트나이트의 모든 개발이 Unreal Engine을 이용해 제작되고 있다. 현재는 UEFN을 이용한 콘텐츠 개발을 지원하여 유저가 게임 콘텐츠를 만들 수 있도록 하고 있다. 추가적으로 UEFN에서 사용할 수 있 Verse 스크립트 언어를 제공한다.
    • 발로란트 : UE4로 개발되었으며 개발팀의 표현으로는 '바퀴를 다시 발명하기 위해' 시간을 낭비하지 않게 되었으며 콘텐츠 개발자가 에디터를 이용해 작업을 훨씬 생산적으로 할 수 있게 되었다.고 한다.

2. 게임씬(Game Scene)의 개념 탐구

  • 게임씬이 무엇을 의미하는지 정의하고, 게임씬이 게임의 구성 요소에서 어떤 역할을 하는지 설명해주세요.
    • 게임씬 : 몬스터, 플레이어, 마을, 지형, 던전, 공격 투사체, 카메라, 라이트 등의 게임에 존재할 수 있는 오브젝트가 위치하는 맵이라고 할 수 있다. 
  • Unreal Engine에서 사용하는 주요 게임씬 구성 요소(월드, 액터, 라이트, 카메라 등)를 조사하고, 각 요소의 역할을 간략하게 설명해주세요.
    • 월드 : 지형의 역할. 액터, 라이트, 카메라 등이 위치하고 이 공간에서 상호작용한다.
    • 액터 : 몬스터, 플레이어, 건물, 박스, 무기, 등 월드에 존재할 수 있는 모든 객체
    • 라이트 : 액터와 지형에 영향을 주어 밝기, 그림자 생성, 반사에 관여한다.
    • 카메라 : 시네마틱을 위한 카메라, 플레이어의 시야, 포스트 프로세싱을 위한 별도의 카메라 등 렌더링에 관여한다.

'스파르타 코딩 언리얼 1기' 카테고리의 다른 글

[Chapter1, Day3] 블루프린트를 이용한 비주얼 스크립팅  (0) 2024.12.18
[Chapter1, Day2] 게임 개발 과정에 대해 알아보고 언리얼 엔진과 놀아보기!  (0) 2024.12.17
[사전 캠프 퀘스트] 언리얼 엔진 5와의 첫 시간  (1) 2024.12.09
[사전 캠프 퀘스트] 언리얼 엔진 에디터 기본  (1) 2024.12.09
[사전캠프 퀘스트] 내가 생각한 게임 개발자는?  (1) 2024.12.06
'스파르타 코딩 언리얼 1기' 카테고리의 다른 글
  • [Chapter1, Day2] 게임 개발 과정에 대해 알아보고 언리얼 엔진과 놀아보기!
  • [사전 캠프 퀘스트] 언리얼 엔진 5와의 첫 시간
  • [사전 캠프 퀘스트] 언리얼 엔진 에디터 기본
  • [사전캠프 퀘스트] 내가 생각한 게임 개발자는?
DevJoo1120
DevJoo1120
  • DevJoo1120
    Jin's Programming
    DevJoo1120
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 포트폴리오 (7)
        • Castlevania: Aria of Sorrow.. (7)
        • [UE5] KILL Everything (0)
      • C++ (0)
      • 라이브러리 (1)
      • 다이렉트X11 (0)
      • Unreal Engine (11)
        • Unreal Document (1)
        • 이것 저것 (8)
        • UI (1)
      • 자료구조 및 알고리즘 (0)
      • 책 정리 (3)
        • 코딩 테스트 합격자 되기 C++ 편 (10)
      • 코딩 테스트 (32)
        • 프로그래머스 (32)
      • 스파르타 코딩 언리얼 1기 (9)
        • 특강 (0)
        • C++와 Unreal Engine으로 3D .. (2)
      • TIL(Today I Learned) (63)
      • 영어 공부 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Til
    책 정리
    정렬
    팀 프로젝트
    map
    WINAPI
    정리
    Study
    코딩 테스트
    반복문
    Unreal Engine 5
    프로그래머스
    문자열
    C++
    코딩테스트
    스파르타 코딩 클럽
    코딩 테스트 합격자 되기 c++ 편
    배열
    이중 반복문
    과제
  • hELLO· Designed By정상우.v4.10.5
DevJoo1120
[사전캠프 퀘스트] Unreal이란 무엇인가요?
상단으로

티스토리툴바