본문 바로가기

분류 전체보기16

[언리얼] 스마트 포인터(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.