728x90
Unreal Engine 5에서 네트워크를 통해 객체의 속성을 복제할 때 GetLifetimeReplicatedProps 함수와 DOREPLIFETIME_CONDITION 매크로를 사용합니다. 이 함수와 매크로를 통해 어떤 속성을 복제할지, 그리고 어떤 조건에서 복제할지를 정의할 수 있습니다.
GetLifetimeReplicatedProps 함수
- 목적: 객체의 수명 동안 복제될 속성을 지정하는 함수입니다.
- 사용법:
- Engine/Net/NetDriver.h 헤더를 포함합니다.
- GetLifetimeReplicatedProps 함수를 오버라이드합니다.
- DOREPLIFETIME 또는 DOREPLIFETIME_CONDITION 매크로를 사용하여 복제할 속성을 추가합니다.
DOREPLIFETIME_CONDITION 매크로
- 목적: 특정 조건에 따라 속성이 복제되도록 하는 매크로입니다.
- 사용법:
- DOREPLIFETIME_CONDITION 매크로를 사용하여 복제할 속성과 조건을 지정합니다.
- COND_InitialOnly 조건을 사용하면 객체가 처음 생성될 때만 속성이 복제됩니다.
C++
AMyReplicatedActor::AMyReplicatedActor()
{
PrimaryActorTick.bCanEverTick = true;
// Set replication properties
bReplicates = true;
}
void AMyReplicatedActor::GetLifetimeReplicatedProps(TArray< FLifetimeProperty >& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
// Replicate MyReplicatedVariable only initially
DOREPLIFETIME_CONDITION(AMyReplicatedActor, MyReplicatedVariable, COND_InitialOnly);
}
위 예시에서 MyReplicatedVariable 속성은 AMyReplicatedActor 객체가 처음 생성될 때 서버에서 클라이언트로 한 번만 복제됩니다. 이후에는 값이 변경되더라도 복제되지 않습니다.
요약
- GetLifetimeReplicatedProps 함수는 객체의 수명 동안 복제될 속성을 정의합니다.
- DOREPLIFETIME_CONDITION 매크로는 복제 조건을 지정합니다.
- COND_InitialOnly 조건을 사용하면 객체가 처음 생성될 때만 속성이 복제됩니다.
728x90
'프로그래밍' 카테고리의 다른 글
IsValidLowLevel과 IsValid 함수 (0) | 2024.10.02 |
---|---|
Unreal Engine의 스마트 포인터 WeakObjectPtr, TSharedPtr, TObjectPtr 비교 (0) | 2024.09.26 |
EPhysicalSurface를 FString으로 변환하는 방법 (1) | 2024.09.23 |
UE5에서 GetLabelName 함수를 사용하지 않는 이유 (0) | 2024.09.22 |
UE5 에디터에서 "ParentClass" 키워드를 사용하여 에셋 찾기 (1) | 2024.09.21 |