UE 16

[UE]Pawn/Character

순서Pawn이란?Chacracter란?Pawn과 Character의 차이Pawn란?플레이어 또는 AI가 Possess하여 제어 가능한 상위 클래스엔진에서 무언가를 조종한다고 할 때 기본이 되는 형태이동 로직이나 충돌 처리, 중력, 네트워크 이동을 위한 기능들이 포함되어 있지는 않음비행기, 드론 등의 보통 Character의 이동 방식이 아닌 특수한 로직을 자유롭게 구현할 때 유용함Character란?Pawn을 확장한 보행 특화 클래스로 캡슐 충돌체, 스켈레탈 메시, CharacterMovementComponet 등 보행용 기능이 기본 제공됨이동, 회전, 점프, 중력, 지형 따라가기, 네트워크 동기화 등 보행형 캐릭터에게 필요한 기능이 이미 구현되어 있어, 사람이 달리거나 점프하는 등의 형태의 캐릭터를 쉽..

Unreal Engine 2025.09.11

[UE]RPC

순서RPC란?RPC의 용도RPC의 종류서버로 RPC를 보내기 위한 조건RPC(Remote Procedudre Call) 란?원격 프로시저 호출을 말하며 호출하는 PC와 실행하는 PC가 달라도 되게끔 해주는 통신 기법이라고 할 수 있음.언리얼 엔진에서 게임 클라이언트와 서버 간에 정보를 주고받고, 특정 행동을 요청하거나 수행하기 위한 핵심적인 네트워킹 메커니즘으로 사용되거나 서버에서 함수를 호출하거나 클라이언트에서 함수를 호출하는 등 다양한 방식으로 사용됨.RPC의 용도모든 클라이언트에게 일괄적으로 메시지를 전달하거나 네트워크 기반의 액션과 동기화함.게임에 큰 영향을 끼치지 않는 일시적인 효과들에 사용하는 편으로 주로 코스메틱(사운드, 파티클)에 사용됨큰 영향을 끼치는 것들은 프로퍼티 레플리케이션을 사용..

Unreal Engine 2025.09.04

[UE] 언리얼 네트워크 롤

순서네트워크 롤이란?네트워크 롤의 종류네트워크 롤의 속성액터에 따른 롤의 특징네트워크 롤이 중요한 이유네트워크 롤이란?액터의 네트워크 소유권 및 역할을 나타내는 중요한 속성으로, 서버와 클라이언트 간의 데이터 처리 및 권한을 정의함.서버에 스폰 된 액터가 가진 NetRole 속성 값은 언제나 Authority로 서버에 스폰 된 액터에서 수행될 로직은 권한을 가지고 있다는 뜻임.반대로 NetRole이 Authority인 액터가 클라이언트로 복제되었을 때, 클라이언트에 복제된 액터의 NetRole 속성 값은 Proxy네트워크 롤의 종류None: 액터가 존재하지 않음 => 서버에서 스폰 되고 레플리케이션 되지 않는 액터. 클라이언트에서 스폰 된 액터Authority: 게임에 중대한 영향을 끼칠 수 있는 로직 ..

Unreal Engine 2025.09.03

[UE]네트워크 넷 모드

순서네트워크 넷 모드란?주요 넷 모드넷 모드 설정이 중요한 이유네트워크 넷 모드란?플레이어들이 네트워크 환경에서 어떻게 접속하고 게임을 실행할지를 결정하는 설정멀티 게임의 네트워크 아키텍처를 구성하는 핵심 요소로, 서버-클라이언트 관계와 연결을 제어하여 통신을 관리함.리슨서버나 클라이언트모드 등 다양한 모드가 있으며, 월드 속성 중 하나인 NetMode를 통해 설정됨.주요 넷 모드Dedicated Server: 전용 서버 모드로 게임 호스트 역할을 하는 플레이어가 없어도 서버가 게임의 모든 로직을 처리하여 공정한 환경을 제공하며, 대규모 멀티플레이어 게임이나 배틀로얄 장르에 주로 사용됨.Listen Server: 하나의 플레이어가 서버 역할과 클라이언트 역할을 동시에 수행하는 방식Client: 서버에 접..

Unreal Engine 2025.09.03

[UE] 비헤이비어 트리와 FSM

순서비헤이비어 트리란?비헤이비어 트리의 장단점FSM이란?FSM의 장단점비헤이비어 트리와 FSM 비교비헤이비어 트리란?Behaviour Tree는 게임 AI에서 행동 결정을 트리 구조로 표현한 것임노드 기반으로 행동을 구성함루트 노드 > AI가 실행 시작Composite Node > Sequence, Selector 같은 제어 노드Decorator Node > 조건 검사, 실행 제한Task Node > 실제 행동 수행특징: 행동을 계층적으로 구성하여 복잡한 AI 행동을 모듈화 가능함비헤이비어 트리의 장단점장점유연성: 행동을 트리 구조로 쉽게 조합 가능함모듈화: 노드 단위로 재사용 가능조건 기반 실행: Decorator로 실행 조건 제어 가능디버깅 용이: 트리 구조라 시각화 가능단점상태 유지 어려움: 이전 ..

Unreal Engine 2025.08.29

[UE] UE의 string 클래스

순서언리얼 주요 문자열 클래스의 종류FStringFNameFTextANSICHAR/TCHAR 배열용도별 클래스언리얼 주요 문자열 클래스의 종류언리얼 주요 문자열 클래스의 종류로 FString, FName, FText, ANSICHAR/TCHAR 배열이 있음.FString동적 문자열 클래스로 TCHAR 기반임.복사, 덧붙이기, 포맷 등 다양한 연산을 제공함FName주로 식별자 용도로 사용함문자열 데이터를 해시 기반으로 관리하여 비교가 매우 빠름동적 문자열 연산에는 부적합함.(문자열 덧붙이기, 포맷 등)FText로컬라이제이션, UI용 문자열문자열 자체와 문화권별 번역 데이터를 포함하며 런타임 번역과 포맷을 지원함연산이 비교적 무거워 대량 문자열 연산에는 비추천함ANSICHAR/TCHAR 배열TCHAR*, A..

Unreal Engine 2025.08.29

[UE]TSubclassOf

순서TSubclassOf란?TSubclassOf 특TSubclassOf의 장단점TSubclassOf란?UE에서 클래스 타입을 안전하게 다루기 위한 템플릿 스마트 포인터TSubclassOf는 T타입을 상속한 클래스의 UClass 포인터만 가질 수 있는 템플릿 클래스이다. => 즉, 특정 부모 클래스의 서브클래스만 지정 가능하게 만들어줌.내부적으로 UClass*를 담고 있지만, 타입 체크가 컴파일/런타임에서 안전하게 이루어짐TSubclassOf 특징타입 안전특정 클래스 또는 특정 클래스의 서브클래스만 할당 가능함잘못된 타입을 할당하려고 하면 컴파일 에러 또는 런타임 체크 실패할 수 있음UClass 포인터 기반내부적으로는 UClass*를 가지고 있음필요시 .Get()으로 UClass*를 가져올 수 있음블루프린..

Unreal Engine 2025.08.29

[UE]StaticClass와 GetClass

순서UClass란?StaticClass란?GetClass란?블루프린트와의 관계StaticClass와 GetClass의 차이UClass란?언리얼 엔진에서 클래스에 대한 메타데이터와 리플렉션 정보를 담고 있는 객체즉, C++ 클래스의 타입 정보를 언리얼 런타임에서 다룰 수 있게 해주는 구조체 같은 것 StaticClass란?언리얼 빌드 과정(UHT)이 각 UClass에 대해 자동으로 생성하는 정적 함수로 해당 클레스의 UClass* 메타 객체를 반환함UHT가 각 UClass()에 대해 자동으로 생성함C++ 클래스의 UClass*를 반환함인스턴스 없이도 클래스 타입을 가리킬 수 있어 객체가 불필요함GetClass란?UObject의 인스턴스 메서드로, 현재 오브젝트가 어떤 클래스 타입인지 반환함.UObject의..

Unreal Engine 2025.08.29

[UE] 언리얼 빌드 툴/헤더 툴

순서빌드 툴(UBT)이란?헤더 툴(UHT)이란?빌드 파이프라인빌드 툴(UBT)이란?빌드 툴은 프로젝트 전체 빌드 관리를 담당함무엇을 하는가?C++ 소스 코드 컴파일 및 링크 과정을 제어하는 빌드 시스템.프로젝트의 .Build.cs 파일을 읽어서 모듈, 종속성, 빌드 설정 등을 해석Makefile 같은 역할을 한다고 생각하면 됨주요 기능소스 코드 컴파일 및 링크 관리(각 모듈 단위로 처리)필요한 경우 UHT 실행 > 리플렉션 메타데이터 생성플랫폼별/빌드 타입별 세팅 적용병렬 빌드, 캐시 활용으로 빌드 속도 최적화헤더 툴(UHT)이란?헤더 툴은 리플렉션 메타데이터 생성을 담당함무엇을 하는가?C++ 코드에서 UCLASS, USTRUCT, UENUM, UPROPERTY, UFUNCTION 등의 매크로를 파싱함...

Unreal Engine 2025.08.29

[UE]스마트 포인터

순서스마트 포인터란?스마트 포인터의 계열과 종류스마트 포인터 사용시 장단점스마트 포인터란?포인터처럼 동작하지만, 단순한 주소 값 저장 외에 메모리 관리나 안정성 보장을 추가로 해주는 객체스마트 포인터는 RAII 원칙을 적용해서, 포인터가 더 이상 필요 없어질 때 자동으로 자원을 해제 해줌.스마트 포인터의 계열과 종류Non-UObject 계열: UObject가 아닌 일반 클래스/구조체에 사용TUniquePtrC++의 unique_ptr과 동일단일 소유권, 복사 불가, 이동만 가능함범위를 벗어나면 자동 삭제됨TSharedPtr참조 카운트 기반마지막 참조가 해제될 때 객체가 삭제됨MakeShared()로 생성TWeakPtrTSharedPtr에서 약한 참조대상이 살아있는지 확인 가능(Pin()을 호출해서 유효하..

Unreal Engine 2025.08.29