내일배움캠프/TIL

TIL20260408

옆집히드라 2026. 4. 8. 16:47

Day1


Unreal Engine 조사

게임엔진이란

비디오 게임 개발에 필요한 기능을 모아둔 프레임워크, 개발자에게 그래픽 렌더링, 물리 법칙, 사운드, 유저 입출력 등과 같은 기능을 제공함.

언리얼의 주요 기능

  • 그래픽 렌더링: 빛과 그림자를 실시간 연산하여 시각적 결과를 제공
  • 물리 엔진: 게임 내 오브젝트에 중력, 충돌, 마찰과 같은 물리법칙 구현
  • 비주얼 스크립팅: 비개발자도 가능하게 기능 구현을 노드 형태의 시각적 블록 조작으로 가능하게 함.언리얼의 장단점
  • 장점: 고품질 실사 그래픽 및 렌더링 성능 우수, 수익 발생 전까지 무료로 사용 가능한 정책
  • 단점: 엔진이 무겁고 요구 PC 사양이 높음; C++ 기반 코어 시스템에 대한 학습 난이도가 높음언리얼 사용사례 및 쓰임배틀그라운드, P의 거짓; 각 게임에 앞서 말한 엔진의 주요 기능을 제공하여 제작에 도움을 줌

Game level 개념

레벨이 게임의 구성 요소에서 어떤 역할?

유니티에서 씬에 해당하며 플레이어가 경험하는 하나의 스테이지 등을 구성하는 단위임

게임 레벨의 주요 구성 요소를 조사 각 역할 설명

  • 레벨: 유니티에서 씬; 플레이어가 경험하는 스테이지 등을 구성하는 단위
  • 월드: 여러 개의 레벨을 담는 최상위 컨테이너, 여러 레벨을 겹처서 로드
  • 액터: 유니티의 GameObject; 공간에 배치되는 모든 객체의 기본 단위
  • 라이트: 조명 역할
  • 카메라: 말그대로 카메라 역할

개인 기록

UnityEngine.Object <-> UObject(GC, 리플렉션, 직렬화 지원); 순수 클래스
GameObject <-> AActor; 옵젝
MonoBehaviour <-> UActorComponent, USceneComponent; 컴포넌트
Pawn, Character 같은 클래스 존재
ScriptableObject <-> UDataAsset
대량 데이터: DataTable

유니티에서는 GameObject에 MyHeroBrainComponent와 HealthComponent를 같이 붙이는 구조라면, 언리얼에서는 ACharacter라는 부모를 상속받은 MyHeroClass를 만들고, 이 클래스의 내부 멤버 변수로 HealthComponent를 선언하여 소유하는 구조입니다.

언리얼에서는 컴포넌트를 액터가 멤버 변수 형태로 내부에서 직접 소유하는 구조임(컴파일 타임에 찾을 수 있음) -> 유니티에서 컴포넌트를 그때그때 조립하는 방식과 달리 언리얼에서는 클래스를 확실히 설계(컴파일 타임에 미리 설계)하고 내장시켜 상속 기반으로 설계해야 함
유니티에서 컴포넌트 조립과 같은 팩토리 패턴은 언리얼에서 미리 슬롯(조립할 컴포넌트 변수)을 만들어 그곳에 포인터를 할당하는 식으로 처리

'내일배움캠프 > TIL' 카테고리의 다른 글

TIL260415  (0) 2026.04.14
TIL260414  (1) 2026.04.14
TIL260413  (0) 2026.04.13
TIL260410  (1) 2026.04.10
TIL260409  (1) 2026.04.09