본문 바로가기

2025/045

[UE5 라이라(Lyra) 샘플로 오버워치 만들기] 2. 로딩화면 바꾸기 언리얼 Lyra 프로젝트 – 로딩 화면 커스터마이징 하기Lyra 프로젝트를 커스터마이징하면서 처음 눈에 들어온 건 바로 로딩 화면이었습니다.처음 프로젝트를 실행하면 나오는 이 로딩 UI, 뭔가 내 스타일로 바꿔보고 싶다는 생각이 들었습니다.그래서 이번에는 Lyra의 로딩 화면을 커스터마이징하는 과정을 간단히 정리해봤습니다. 로딩화면을 바꿔보도록 하겠습니다. 🔍 로딩 화면 위젯은 어디에 있을까?먼저 로딩 화면 위젯이 어디서 로드되는지부터 확인해야겠죠.CommonLoadingScreenSettings라는 클래스를 살펴보면,이 클래스가 **Config에서 설정된 경로(Path)**를 통해 위젯을 로딩하는 걸 알 수 있습니다. DefaultGame.ini를 열어보면 사용 중인 로딩 위젯이바로 **W_Load.. 2025. 4. 28.
[UE5 라이라(Lyra) 샘플로 오버워치 만들기] 1. 라이라(Lyra)다운로드 언리얼 엔진 5.5 - 라이라(Lyra) 샘플로 오버워치 만들기최근 언리얼 엔진으로 팀 기반 슈팅 게임을 만들어보고 싶어서, 에픽에서 제공하는 Lyra 샘플 프로젝트를 기반으로 오버워치 스타일의 게임을 만들어보기로 했습니다. 이 글에서는 프로젝트 셋업 과정을 간단히 정리해보겠습니다.1. Lyra 프로젝트란?Lyra Starter Game은 에픽게임즈에서 공식적으로 제공하는 멀티플레이어 슈팅 게임 샘플입니다. 게임플레이 프레임워크, 입력 시스템, 가스(GAS), 애니메이션 시스템 등 실전에서 바로 활용 가능한 구조로 되어 있어 학습용/프로토타입 제작용으로 아주 좋습니다. 2. Lyra 프로젝트 다운로드 방법Fab 마켓플레이스에 접속합니다.상단 검색창에 Lyra를 입력하고 검색합니다."Lyra Starte.. 2025. 4. 21.
[UE5] Core Redirect 코어 리디렉트란 무엇인가?코어 리디렉트는 런타임 시점에서 기존의 클래스, 열거형, 함수, 패키지, 속성, 구조체 등을 새로운 이름이나 위치로 매핑하는 기능입니다. 이를 통해 이전에 생성된 에셋이 새로운 코드 구조를 인식하고 정상적으로 로드될 수 있도록 합니다. ​코어 리디렉트의 필요성개발 도중 코드 구조를 변경하거나 리팩토링할 때, 기존 에셋이 참조하는 클래스나 구조체의 이름이 변경되면 에셋 로딩 시 오류가 발생할 수 있습니다. 이러한 문제를 방지하기 위해 코어 리디렉트를 설정하면, 엔진이 자동으로 이전 이름을 새로운 이름으로 매핑하여 에셋 로딩 문제를 해결합니다. ​코어 리디렉트 설정 방법코어 리디렉트는 프로젝트의 DefaultEngine.ini 파일의 [CoreRedirects] 섹션에 설정할 수 있.. 2025. 4. 9.
[UE5] Subsystem 언리얼 엔진의 서브시스템, 싱글톤의 장점과 그 이면언리얼 엔진을 사용하다 보면 자연스럽게 접하게 되는 시스템이 있습니다. 바로 **서브시스템(Subsystem)**입니다. 서브시스템은 언리얼 엔진에서 **싱글톤(Singleton)**처럼 동작하는 구조로, 전역적으로 접근 가능하고 수명 주기가 엔진의 흐름을 따라가는 시스템입니다. 싱글톤(서브시스템)의 장점언제 어디서든 접근 가능하다그래서 실제 게임 개발 현장에서도 자주 사용되는 구조입니다.간단한 유틸리티나 매니저 같은 것들은 싱글톤이 관리하기 적합합니다.예를 들어, PIE(Play In Editor) 상황에서는 한 번에 여러 개의 게임 인스턴스를 실행해야 할 때, 각 인스턴스를 전역적으로 관리할 수 있어 편리하죠.그러면 그냥 싱글톤 만들면 되지 왜 서브시.. 2025. 4. 8.
[UE5] TSubclassOf TSubclassOf란?정의:TSubclassOf는 Unreal Engine에서 특정 기본 클래스(예: AActor, UDamageType 등)를 상속하는 클래스 타입을 안전하게 저장할 수 있도록 해주는 템플릿 클래스(템플릿 메타데이)입니다.내부적으로는 UClass*를 저장하지만, 템플릿 인자로 지정한 클래스나 그 자식 클래스만을 허용하여 타입 안정성을 보장합니다.메타클래스 역할:TSubclassOf 변수는 클래스 자체의 정보를 담고 있으므로, 이를 이용해 액터를 동적으로 스폰하거나, 블루프린트에서 특정 클래스만 선택하도록 제한할 수 있습니다.메타클래스는 간단하게 UPROPERTY매크로로 선언된 변수들을 하나의 UClass로 저장한 데이터 집합체라고 생각하면 된다.  TSubclassOf를 사용하는 이유.. 2025. 4. 6.