Variable Replication
120
작성자 없음
작성한 질문수 0
서버에서 OnRep_Counter()를 따로 호출해줘야 하는 이유는
ReplicatedUsing을 사용하는데
DOREPLIFETIME_CONDITION_NOTIFY()을 사용하지 않고 DOREPLIFETIME을 사용했기 떄문 아닌가요?
ReplicatedUsing은 DOREPLIFETIME_CONDITION_NOTIFY() 이랑 같이 사용해야하는 것으로 알고 있습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. ab님,
Unreal Engine에서 변수를 다른 클라이언트에 복제(Replication)할 때, ReplicatedUsing 속성을 사용할 경우 해당 변수의 변경을 감지하여 특정 함수(OnRep_)를 호출하게 됩니다. DOREPLIFETIME_CONDITION_NOTIFY와 DOREPLIFETIME 매크로의 차이를 이해하는 것은 중요한 부분입니다.
DOREPLIFETIME: 기본적으로 변수 복제를 설정합니다. 이 매크로는 서버에서 해당 변수가 변경될 때 클라이언트에 자동으로 복제됩니다. 하지만 특정 조건에서 호출되는 함수에 대해 명시적으로 지정되지 않습니다.
DOREPLIFETIME_CONDITION_NOTIFY: 이 매크로를 사용하면, 복제 조건과 함께 해당 변수가 복제될 때 호출되는 함수를 명확하게 지정할 수 있습니다. 이로 인해 변수의 변동 시에 클라이언트에서 미리 준비된 함수(
OnRep_)가 자동으로 호출됩니다.
질문에서 언급하신 대로 ReplicatedUsing 속성을 사용한다면, 변수 변동에 따른 자동 호출을 위해 DOREPLIFETIME_CONDITION_NOTIFY를 사용하는 것이 정확한 방법입니다. DOREPLIFETIME을 사용할 경우, 수동으로 해당 함수를 클라이언트 측에 호출해줘야 할 수 있습니다.
아래 유사한 질문에 대한 링크를 참고하시면 더욱 도움이 될 수 있습니다:
- Unreal Engine에서의 변수 복제와 함수 호출 관련 질문
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1장. 파일 추가 및 삭제 에서 생성할때 에러가 납니다.
0
68
0
3d game 리소스 추출하는 방법
0
152
1
11강 2분 22초. 12강 6분 18초 영상편집오류
0
66
1
GENERATED_BODY() 빨간 밑줄이 사라지지 않습니다
0
118
2
언리얼 프로젝트를 생성할 수 없었습니다(컴파일 실패)
0
303
2
Unreal VS 빌드오류 해결 도저히 못하겠습니다.
0
703
2
WidgetBlueprint 복사 방법 질문
0
64
2
수강생으로서의 고민
0
99
1
13강. 모듈 내 하위 디렉터리 인식 못하는 문제 해결법
0
64
1
UClass 안에 ClassDefaultObject 관련 질문이 있습니다.
0
84
1
해당 강의 중반부부터 싱크가 안맞는 것 같아요
0
73
1
디아블로 방식의 컨트롤에서 타겟 위치로 이동 문제
0
120
2
디아블로 방식의 컨트롤 맨마지막 옵션관련 질문
0
82
2
32. 디아블로 방식의 컨트롤
0
74
1
점프 강의 도중의 질문입니다.
1
103
2
AssetManager 질문
0
93
1
GetAssetByName<UR1InputData>("InputData")) 질문입니다.
0
123
2
AI #4 질문
0
111
1
언리얼 시스템의 에러? 에 대해서 질문 드립니다.
0
356
1
전혀 이해가 가질 않네요.
9
403
1
의구심이 듭니다
0
355
1
Animation Event영상에서 Notify 대신 Received_Notify()사용
0
121
0
const FObjectInitializer& ObjectInitializer 와 const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()
0
311
1
visual studio와 vscode
0
365
1





