본문 바로가기

전체 글16

[언리얼] 리플리케이션이란? Replicate개념, 데디케이티드 서버 환경에서 개발하기 언리얼 엔진에서 리플리케이션 시스템이란 ? 언리얼 엔진에서 네트워크 멀티플레이어 게임을 개발할 때 가장 중요한 개념 중 하나가 "리플리케이션(Replication)"이다. 리플리케이션이란 서버와 클라이언트 간의 데이터 동기화를 관리하는 시스템으로, 멀티플레이어 환경에서 각 플레이어가 동일한 게임 상태를 유지할 수 있도록 돕는다. 이를 통해 플레이어 간의 움직임, 상호작용, 아이템 상태 등이 일관되게 유지되며 원활한 게임플레이가 가능해진다. 1. 리플리케이션의 기본 개념리플리케이션은 기본적으로 서버와 클라이언트 간의 데이터 흐름을 관리하는 방식으로 작동한다. 언리얼 엔진은 서버 - 클라이언트 모델을 따르며, 다음과 같은 주요 원칙을 기반으로 리플리케이션이 이루어진다.서버 권한(Server Authority.. 2025. 3. 18.
[언리얼] UObject와 AActor 특징, 차이점 언리얼 엔진에서 UObject와 AActor의 특징 비교언리얼 엔진(Unreal Engine)은 게임 개발에서 강력한 기능을 제공하는 엔진으로, 다양한 클래스들이 존재한다. 이 중에서도 UObject와 AActor는 언리얼 엔진의 핵심 클래스이다. 두 클래스 모두 객체 지향적인 설계를 기반으로 하지만, 사용 목적과 특징이 다르다. 본 글에서는 UObject와 AActor의 차이점을 비교하고, 각각의 특징을 살펴보겠다.1. UObject란?UObject는 언리얼 엔진에서 모든 오브젝트의 기반이 되는 클래스이다. UObject는 메모리 관리, 가비지 컬렉션, 리플렉션 등의 기능을 제공하며, 언리얼 엔진의 다양한 시스템에서 기본적으로 사용된다.1.1 UObject의 특징가비지 컬렉션(Garbage Collec.. 2025. 3. 18.
[언리얼] 스마트 포인터(TUniquePtr, TSharedPtr, TWeakPtr) 총정리 언리얼 엔진에서 스마트 포인터(TUniquePtr, TSharedPtr, TWeakPtr)에 대해 알아보자1. 스마트 포인터란?C++에서는 동적으로 할당한 메모리를 직접 관리해야 한다. 그러나 수동으로 new와 delete를 사용하면 메모리 누수가 발생할 위험이 크다. 이를 방지하기 위해 **스마트 포인터(Smart Pointer)**가 도입되었다. 스마트 포인터는 객체의 수명을 자동으로 관리하여, 프로그래머가 명시적으로 delete를 호출하지 않아도 되도록 해준다.언리얼 엔진에서는 C++ 표준 라이브러리의 스마트 포인터 대신, 자체적으로 최적화된 TUniquePtr, TSharedPtr, TWeakPtr를 제공한다. 이들은 각각 객체의 소유권을 다르게 관리하여 메모리 안전성을 높인다. 이전 글에서 언급.. 2025. 3. 18.
[언리얼] 서버 비교: 데디(Dedicated), 리슨(Listen), Standalone(싱글 플레이) 언리얼 엔진에서 Dedicated Server, Listen Server, Standalone 비교게임을 개발할 때 멀티플레이어 기능을 구현하는 것은 매우 중요한 요소 중 하나이다. 언리얼 엔진에서는 여러 가지 서버 구조를 지원하는데, 대표적으로 Dedicated Server, Listen Server, Standalone이 있다. 각각의 서버 구조는 특정한 사용 목적과 장단점을 가지고 있으며, 개발하는 게임의 특성에 맞게 선택해야 한다. 본 글에서는 이 세 가지 서버 구조를 비교 분석하고, 어떤 상황에서 어떤 서버 구조를 사용하는 것이 적절한지 설명하겠다.  1. Dedicated Server(전용 서버) Dedicated Server는 별도의 물리적 또는 가상 서버에서 실행되는 서버로, 클라이언트 .. 2025. 3. 17.
[언리얼] 가비지 콜렉터 GC(Garbage Collector) 동작 원리 언리얼 엔진에서 GC(Garbage Collector)의 동작 원리 1. GC(Garbage Collector)란 ? GC(Garbage Collector, 가비지 컬렉터)는 메모리 관리 기법 중 하나로, 사용되지 않는 객체를 자동으로 해제하여 메모리 누수를 방지하는 역할을 한다. C++ 기반의 언리얼 엔진은 기본적으로 수동 메모리 관리를 요구하지만, UObject 시스템을 통해 자동으로 가비지 컬렉션을 수행한다. 이를 통해 개발자는 보다 효율적으로 메모리를 관리할 수 있으며, 수동 할당과 해제에 따른 메모리 오류를 줄일 수 있다.한마디로 요약하자면, 메모리에서 사용되지 않는 객체를 메모리 누수 방지를 목적으로 정리해주는 기능이다.  2. 언리얼 엔진에서 GC의 동작 방식 2.1 UObject와 GC의 .. 2025. 3. 17.
[언리얼] GameMode, GameState, PlayerState, PlayerController 사용법, 차이점 언리얼 엔진의 Gamemode, GameState, PlayerState, PlayerController의 사용 용도와 차이점 언리얼 엔진(Unreal Engine)은 강력한 게임 개발 엔진으로, 특히 멀티플레이 게임을 개발할 때 다양한 시스템을 제공한다.멀티플레이 개발이 처음이라면 헷갈리는 요소들이 있다. Gamemode, GameState, PlayerState, PlayerController는 게임의 로직을 제어하는 핵심적인 요소들이지만 정확하게 언제 어떻게 사용하는 것인지 분명히 알아두어야 할 필요가 있다. 이 글에서는 각각의 개념과 용도, 그리고 차이점에 대해 상세히 알아보겠다. 1. Gamemode란?**Gamemode(게임 모드)**는 게임의 기본 규칙과 흐름을 결정하는 역할을 한다. 쉽게 .. 2025. 3. 17.