안선생의 개발 블로그
[UE5] Network Role 본문
리플리케이션 관련해서 액터에 중요한 프로퍼티가 두 가지 있습니다. Role (롤)과 Remote Role (리모트 롤)입니다.
두 가지 프로퍼티를 통해 알 수 있는 바는 다음과 같습니다:
- 액터에 대한 오소리티 소유자
- 액터의 리플리케이션 여부
- 리플리케이션 모드
Local Role (롤)
- Role_Authority (권한 역할):
- 이 액터는 게임 서버에서만 존재하고 제어됩니다.
- 서버에서 생성되고 서버에서 관리됩니다.
- 다른 클라이언트들은 이 액터를 움직이거나 수정할 수 없습니다.
- Role_SimulatedProxy (시뮬레이션된 프록시 역할):
- 이 액터는 클라이언트 측에서 가상으로 생성됩니다.
- 클라이언트들이 실제로 볼 수 있는 것은 이 시뮬레이션된 버전입니다.
- 서버로부터의 업데이트를 시뮬레이션하여 게임 화면에 표시됩니다.
- Role_AutonomousProxy (자율 프록시 역할):
- 이 액터는 특정 클라이언트에서만 움직입니다.
- 클라이언트가 직접 조작하는 플레이어 캐릭터나 객체가 해당 역할을 가질 수 있습니다.
- 이 역할을 가진 액터는 서버에 의해 제어되지 않으며, 특정 클라이언트에서만 조작 가능합니다.
Remote Role:
- "Remote Role"은 원격 기기(서버 또는 다른 클라이언트)에 대한 역할을 나타냅니다. 다른 기기에서 현재 액터의 역할을 나타냅니다.
- 예를 들어 클라이언트에서 액터를 제어하고 있을 때, 해당 액터의 원격 역할은 서버에서 "Authority"로 나타납니다. 서버에서 액터를 제어하고 있을 때, 해당 액터의 원격 역할은 클라이언트에서 "Autonomous Proxy" 또는 "Simulated Proxy"로 나타납니다.
-
- 권한(Authority): 클라이언트에서 본 서버 객체의 원격 역할로, 해당 객체가 서버에서 제어됩니다.
- 자율 프록시(Autonomous Proxy): 서버에서 본 클라이언트 객체의 원격 역할로, 해당 객체가 클라이언트에서 제어됩니다.
- 시뮬레이션된 프록시(Simulated Proxy): 서버에서 본 클라이언트 객체의 원격 역할로, 해당 객체가 서버에서 제어되지 않고 시뮬레이션됩니다.
즉 둘이 반대인것을 알 수 있다. 왜나하면 Remote Role은 상대방을 가르키기 때문 클라이언트에서 보면 서버의 역할을 알려주고 서버에서면 보면 클라이언트에서의 역할을 알려줌 Lcoal Role은 게임에서의 역할을 알려준다!
이해하기 쉽게 UI를 캐릭터 머리위에 생성해서 보겠습니다.
Local Role (롤)
서버
클라이언트1
클라이언트2
Remote Role:
서버
클라이언트1
클라이언트2
우리는 항상 이 정보를 사용하여 원격 역할을 확인하고 원격 역할을 확인하여 우리가 어떤 기기에 있는지 알 수 있습니다. 즉, 서버인지 클라이언트인지 알 수 있습니다.
https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Networking/Actors/Roles/
액터 롤 및 리모트 롤
액터 오브젝트 리플리케이션의 여러가지 부분에 대한 것입니다.
docs.unrealengine.com
'언리얼 > 멀티플레이' 카테고리의 다른 글
[UE5] 언리얼 자체 리플리케이션?? (1) | 2023.11.05 |
---|---|
[UE5] RPC (0) | 2023.11.04 |
[UE5] 변수 리플리케이션 (0) | 2023.11.03 |
[UE5]멀티플레이 클라이언트와 서버 관계 (0) | 2023.10.30 |
[UE5] 멀티플레이 Seamless Travel (3) | 2023.10.29 |