Unreal 게임 개발 온라인 학습

[2024-12-09 / Day 1] Unreal Engine과 Game Scene 기초 공부

pfyrmog6963 2025. 4. 18. 11:31

읽으시기 전..
저는 롤을 좋아하기 때문에 롤로 개념을 비유하는 것이 많이 나올 수 있습니다.
학습한 지 얼마 안되어 틀릴 수도 있습니다.
공부를 하며 점차 수정할 예정입니다!


1. Unreal Engine(언리얼 엔진)은 무엇일까요?

네, 미국 게임사 에픽게임즈에서 개발한 3D 게임 엔진입니다.
하지만 이것만으로는 목적, 기능, 역할을 알 수 없으니 자세히 설명하겠습니다.


2. 게임 엔진은 무엇일까요?

게임 엔진 다양한 소프트웨어 엔진들이 통합되어 동작하는 여러 소프트웨어의 통합체입니다. 간단히 말하면 게임 개발에 필요한 핵심 기능을 제공하는 프로그램입니다.

그럼 소프트웨어는 뭘까요? 소프트웨어 설명을 위해 하드웨어까지 동시에 설명했습니다.
하드웨어 사람과 컴퓨터 시스템 물리적으로 맞닿을 수 있는 모든 장치,
소프트웨어는 그런 하드웨어를 제어하고 동작시키는 명령어의 집합입니다. 컴퓨터 내부에서 실행되는 프로그램과 시스템이며, 주로 하드웨어가 어떻게 동작할지 지시를 내립니다.

 

<간단한 예시>

( 하드웨어 )
"지금 A키라는 자극을 받았습니다. 이런 자극이 왔는데 소프트웨어님 제가 뭘하면 될까요?"

( 소프트웨어 )
"화면에 A를 출력해"

주의!!
1. 실제로 A키 누른다고 저런 명령을 내리지는 않을 것입니다.
2. 소프트웨어와 하드웨어 사이 애플리케이션이란게 있는데 일단 넘어갑니다.

그러면 다양한 소프트웨어 엔진으로는 어떤 것들이 있을까요?


3. 게임 엔진의 주요 구성 요소

게임 엔진의 주요 구성 요소는 그래픽 렌더링 엔진, 물리 엔진, 오디오 엔진, 애니메이션 도구, 인공지능(AI) 도구, 네트워킹 도구 등이 있습니다.

그래픽 렌더링 엔진

컴퓨터 프로그램을 이용해 2D 또는 3D 모델에서
사실적인 이미지를 생성
하는 프로세스입니다.

<롤로 비유하면?>
게임이 모두 로딩되고 나면 게임이 시작됩니다. 그 때부터 게임 유저의 화면은 게임이 끝날때 까지 계속 실시간으로 바뀌며 출력됩니다. 그렇게 실시간으로 바뀌는 화면을 그려주는 역할이 그래픽 렌더링 엔진입니다.


물리 엔진

게임 속 물체에 작용하는 물리적 현상.
즉, 중력, 관성, 충돌, 마찰 등에 관한 부분을 처리
하는 시스템입니다.

<롤로 비유하면?>
솔방울탄을 타면 캐릭터가 원하는 방향으로 날라갑니다. 여기서 캐릭터에 발생하는 위치 변경, 이동 경로, 이동 속도, 중력 효과 등이 물리 엔진으로 처리됩니다.

위치 변경 - 솔방울탄을 타고 캐릭터가 공중으로 이동하는 위치 계산
이동 경로 - 날아가는 방향과 궤적 결정
이동 속도 - 캐릭터가 솔방울탄의 힘으로 얼마나 빨리 날아가는지 계산
중력 효과 - 날아간 후 땅에 착지할 때까지 중력이 적용


오디오 엔진

게임에서 사용되는 음향 요소를 관리하고 처리하는 시스템입니다.
효과음, 배경음악, 볼륨 조절, 자막 등의 작업을 담당합니다.


애니메이션 도구

게임에서 사용되는 캐릭터, 오브젝트, 효과 등의 애니메이션을 쉽게 제작하고 편집할 수 있도록 도와주는 프로그램입니다.

<롤로 비유하면?>
캐릭터
캐릭터가 이동할 때의 애니메이션
오브젝트
미니언이 생성되거나 이동 시의 애니메이션
포탑이 공격할 때의 애니메이션
정글몹이 공격할 때의 애니메이션
효과
위의 오브젝트들이 체력이 0이 되어 사라질 때의 애니메이션


인공지능(AI) 도구

게임에서 NPC의 행동을 제어하고, 난이도를 조절하며, 스토리 진행과 오브젝트 생성을 비롯한 다양한 게임 로직을 처리하는 프로그램입니다.

<롤로 비유하면?>
롤에는 사람과 대전하는 모드가 기본이지만 레벨 30을 넘기기 전까지는 AI 5명과 싸우게 됩니다. 그런 AI(봇)의 행동을 제어, 정글몹의 공격 패턴을 결정, 미니언 웨이브 생성과 포탑 공격 같은 자동화된 게임 로직 관리 인공지능(AI) 도구로 처리됩니다.


네트워킹 도구

게임에서 플레이어와 서버 간 통신을 관리하기 위한 프로그램입니다.

<롤로 비유하면?>
롤에서는 플레이어가 이동하거나 스킬을 사용합니다. 이 도구는 그 정보를 서버에 전달하고, 서버가 계산한 결과를 다른 플레이어의 화면에 동기화하는 역할을 합니다. 동기화란, 게임을 플레이하는 모든 유저들의 화면이 동일한 상태로 유지되는 것입니다.
예를 들어서 내가 Q 스킬을 사용했을 때, 상대방 화면에도 내가 Q를 사용한 모습이 보이게 만드는 것 네트워킹 도구입니다.


4. 언리얼 엔진의 특징

위의 다양한 엔진들이 기본적으로 포함되어 있으며,
언리얼 엔진은 Blueprint라는 비주얼 스크립팅 도구가 추가됩니다.

비주얼 스크립팅 도구

코드 작성 대신 시각적 그래프를 이용 게임플레이 메커니즘이나 인터랙션 로직을 개발하는 기능입니다. 프로그래머, 아티스트, 디자이너 등이 함께 작업할 때 유용하며, 프로그래밍 지식 수준에 관계없이 팀원들이 프로토타이핑이나 프로덕션 과정에서 편리하게 작업할 수 있습니다.

간단히 말해, 프로그래밍을 모르는 사람도 시각적인 그래프를 통해 게임 개발에 쉽게 참여할 수 있게 해주는 도구입니다.


언리얼의 장점

비주얼 스크립팅 도구 - 프로그래밍을 모르는 사람도 개발에 쉽게 참여 가능합니다.
높은 그래픽 품질 - 언리얼은 높은 그래픽 품질을 제공합니다.
뛰어난 성능 - 대규모 환경에서도 뛰어난 성능을 보여줍니다. 최적화 및 스케일링에 대한 지원이 우수하여 큰 프로젝트에 적합합니다.

언리얼의 단점

C++언어 숙련도를 위한 노력이 필요
학습 곡선이 높음(매일 학습, 실습을 하고 이해를 제대로 해야함)


5. 언리얼 엔진 대표작

Fortnite(언리얼 5)
에픽게임즈에서 개발 및 유통하고 있는 배틀로얄식 온라인 비디오 서바이벌 슈팅 게임

배틀그라운드(언리얼 4)
PUBG 스튜디오에서 개발하고 크래프톤에서 발행한 서바이벌 슈터 비디오 게임

<나의 분석>
두 게임 모두 고사양 그래픽, 대규모 멀티플레이어 환경, 다양한 플랫폼(모바일, PC 등)에서 게임 플레이가 가능하도록 언리얼 엔진을 활용했습니다.


6. Game Scene(게임 씬)은 무엇일까요?

(디자인 관점에서의 설명)

게임이나 애플리케이션의 전체 또는 일부를 포함하는 에셋으로, 콘텐츠를 사용하여 작업하는 공간을 의미합니다. 게임 씬을 사용하면 게임의 환경, 장애물, 장식을 배치하고 게임을 세세히 디자인할 수 있습니다.
간단히 말해, 게임의 구조와 구조물들을 디자인할 수 있게 만들어주는 공간입니다.

에셋이란?

게임 개발에 필요한 시각적/청각적 콘텐츠와 관련 데이터를 통칭하는 용어입니다. 간단히 말해, 게임을 구성하는 일부 재료이며, 다른 데이터(예: 로직, AI, 네트워킹 등)는 포함되지 않습니다.

콘텐츠란?

플레이어가 경험할 수 있는 모든 요소를 의미합니다.
시각, 청각, 상호작용을 할 수 있는 요소에서 플레이어는 게임의 재미와 몰입감을 느낍니다.


(게임 진행 단위 관점에서의 설명)

게임 씬은 게임 내 특정 단위 장면이나 레벨을 구성하는 기본 요소로, 환경, 오브젝트, UI, 상호작용 등을 포함하여 게임의 흐름을 관리하고 플레이어가 경험할 공간을 제공합니다.

레벨이란? 언리얼 엔진에서는 레벨과 게임 씬이 동일한 의미로 쓰입니다.


7. 언리얼에서 게임 씬의 구성요소

월드(World)

게임의 전체 환경을 나타내는 공간으로, 액터와 오브젝트가 배치되고
이벤트가 발생하는 기본 배경입니다.

액터(Actor)

씬 안에서 동작하거나 상호작용하는 모든 객체로
캐릭터, 아이템, 트리거, 카메라 등 다양한 요소를 포함합니다.

라이트(Light)

씬의 조명을 담당하여 밝기, 그림자, 분위기를 설정하며
씬의 시각적 완성도를 높이는 역할을 합니다.

카메라(Camera)

플레이어가 게임을 보는 시점을 결정하며, 게임 화면에 표시되는 내용을 정의합니다.