인프런 커뮤니티 질문&답변
언리얼5 블루프린트에서의 서버/클라 액터 구별 질문
작성
·
73
0
리슨 서버 환경이라고 가정했을 때,
해당 액터(캐릭터, 폰, 플레이어컨트롤러 등) 가 서버 소유인지 클라 소유인지, 지금 local controlled 인지 구별하기 위해서 제공하는 노드가

이렇게 되어 있는 것 같은데요.
액터 역할은 로컬역할과 리모트 역할이 있고 종류는 Authority/autonomous/Simulated 가 있죠?
근데 저 사진에서 Authority와 Remote 라는 것은 무엇을 의미하는 것인가요????
(역할의 구별과 종류가 혼용되어 있어 이해가 어렵습니다....)
제가 이해하기로는 모든 액터는 서버에서 Authority 이기 때문에 네트워크가 서버일 경우 로컬역할/리모트 역할 구별없이 무조건 Authority 핀이 실행될 거 같고,
Remote가 실행되는 경우는 현재 네트워크가 클라이언트이며 로컬역할이 autonomous 일때만 실행될 거 같은데 맞나요??
그렇다면 네트워크가 클라이언트이고 로컬역할이 simulated일 때만 실행되게하는 것은 어떻게 해야 하나요??
Switch Has Authority 노드의 정확한 동작 이해가 필요합니다....
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
themoon007님, 언리얼 엔진 블루프린트에서 서버와 클라이언트의 액터 역할을 구별하는 것은 중요합니다. 질문하신 내용을 바탕으로 답변 드리겠습니다.
Authority와 Remote의 의미:
- Authority: 액터가 서버에서 소유되는 경우를 뜻합니다. 즉, 서버는 액터에 대한 완전한 제어 권한을 갖습니다. 리슨 서버 환경에서는 서버가 이 역할을 하게 됩니다.
- Remote: 클라이언트 측에서 액터가 실행되는 경우를 뜻합니다. 클라이언트는 서버로부터 액터에 대한 상태를 받아 시뮬레이션을 수행합니다.
- Authority: 액터가 서버에서 소유되는 경우를 뜻합니다. 즉, 서버는 액터에 대한 완전한 제어 권한을 갖습니다. 리슨 서버 환경에서는 서버가 이 역할을 하게 됩니다.
Switch Has Authority 노드:
- 이 노드는 실행되는 환경에서 액터의 권한을 확인하여 Authority 또는 Remote 핀 중 하나를 실행합니다.
- 질문에서 말씀하신대로, 서버에서 이 노드를 실행할 때는 Authority 핀이 실행됩니다.
- 클라이언트 환경에서 이 노드를 실행하면, Remote 핀이 작동합니다. 클라이언트가 autonomous 역할인 경우 클라이언트 측에서 액터를 직접 제어하며 협력적 시뮬레이션을 합니다.
- 이 노드는 실행되는 환경에서 액터의 권한을 확인하여 Authority 또는 Remote 핀 중 하나를 실행합니다.
Simulated 역할일 때:
- 만약 네트워크가 클라이언트이고 로컬 역할이 simulated일 때만 실행되게 하려면, “Is Simulated Proxy” 노드를 병행하여 사용해야 합니다.
- 이를 통해 해당 액터가 시뮬레이션의 일부로 클라이언트에서 구동되고 있는지 확인할 수 있습니다.
- 만약 네트워크가 클라이언트이고 로컬 역할이 simulated일 때만 실행되게 하려면, “Is Simulated Proxy” 노드를 병행하여 사용해야 합니다.
Switch Has Authority 노드의 정확한 동작을 파악하여 클라이언트-서버 모델에서 액터의 소유권을 명확히 구분함으로써 멀티플레이어 환경에서의 로직을 효율적으로 구현하시길 바랍니다.
이미지 출처: Unreal Engine Documentation
도움이 되셨길 바랍니다!




