참고
프로퍼티 리플리케이션 : https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Networking/Actors/Properties/
프로퍼티 지정자 :
https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/GameplayArchitecture/Properties/Specifiers/
조건식 리플리케이션 :
https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Networking/Actors/Properties/Conditions/
아키타입 : https://coding-hell.tistory.com/81
언리얼 엔진 네트워킹 :
https://docs.unrealengine.com/5.3/ko/networking-overview-for-unreal-engine/
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
class UWidgetComponent* OverheadWidget;
-> 아키타입(내가 만든 블루프린트 클래스, c++클래스)과 인스턴스(bp와 c++ 클래스를 맵에 배치한 것) 둘 다 편집 가능
-> 블루프린트에서는 수정 불가능
-> 해당 변수는 클래스 내부에서만 접근 가능함
UPROPERTY(ReplicatedUsing = OnRep_OverlappingWeapon)
class AWeapon* OverlappingWeapon;
-> 네트워크 상에서 변수 값을 동기화 하는데, 해당 변수가 변경될 때 함수 OnRep_OverlappingWeapon
를 호출한다.
UPROPERTY(replicated)
사용GetLifetimeReplicatedProps
함수 구현 필요DOREPLIFETIME(클래스 이름, 변수 이름);
매크로 사용bReplicates = true;
설정DOPERPLIFETIME_CONDITION
매크로 사용COND_OwnerOnly
쓰면 pawn을 움직인 당사자의 화면과 서버에 변경된 점이 적용된다.