강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

themoon007님의 프로필 이미지
themoon007

작성한 질문수

언리얼5 블루프린트에서의 서버/클라 액터 구별 질문

작성

·

56

0

리슨 서버 환경이라고 가정했을 때,

 

해당 액터(캐릭터, 폰, 플레이어컨트롤러 등) 가 서버 소유인지 클라 소유인지, 지금 local controlled 인지 구별하기 위해서 제공하는 노드가

image.png

이렇게 되어 있는 것 같은데요.

액터 역할은 로컬역할과 리모트 역할이 있고 종류는 Authority/autonomous/Simulated 가 있죠?

근데 저 사진에서 Authority와 Remote 라는 것은 무엇을 의미하는 것인가요????
(역할의 구별과 종류가 혼용되어 있어 이해가 어렵습니다....)

 

제가 이해하기로는 모든 액터는 서버에서 Authority 이기 때문에 네트워크가 서버일 경우 로컬역할/리모트 역할 구별없이 무조건 Authority 핀이 실행될 거 같고,

Remote가 실행되는 경우는 현재 네트워크가 클라이언트이며 로컬역할이 autonomous 일때만 실행될 거 같은데 맞나요??

 

그렇다면 네트워크가 클라이언트이고 로컬역할이 simulated일 때만 실행되게하는 것은 어떻게 해야 하나요??

 

Switch Has Authority 노드의 정확한 동작 이해가 필요합니다....

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
themoon007님, 언리얼 엔진 블루프린트에서 서버와 클라이언트의 액터 역할을 구별하는 것은 중요합니다. 질문하신 내용을 바탕으로 답변 드리겠습니다.

  1. Authority와 Remote의 의미:

    • Authority: 액터가 서버에서 소유되는 경우를 뜻합니다. 즉, 서버는 액터에 대한 완전한 제어 권한을 갖습니다. 리슨 서버 환경에서는 서버가 이 역할을 하게 됩니다.
    • Remote: 클라이언트 측에서 액터가 실행되는 경우를 뜻합니다. 클라이언트는 서버로부터 액터에 대한 상태를 받아 시뮬레이션을 수행합니다.
  2. Switch Has Authority 노드:

    • 이 노드는 실행되는 환경에서 액터의 권한을 확인하여 Authority 또는 Remote 핀 중 하나를 실행합니다.
    • 질문에서 말씀하신대로, 서버에서 이 노드를 실행할 때는 Authority 핀이 실행됩니다.
    • 클라이언트 환경에서 이 노드를 실행하면, Remote 핀이 작동합니다. 클라이언트가 autonomous 역할인 경우 클라이언트 측에서 액터를 직접 제어하며 협력적 시뮬레이션을 합니다.
  3. Simulated 역할일 때:

    • 만약 네트워크가 클라이언트이고 로컬 역할이 simulated일 때만 실행되게 하려면, “Is Simulated Proxy” 노드를 병행하여 사용해야 합니다.
    • 이를 통해 해당 액터가 시뮬레이션의 일부로 클라이언트에서 구동되고 있는지 확인할 수 있습니다.

Switch Has Authority 노드의 정확한 동작을 파악하여 클라이언트-서버 모델에서 액터의 소유권을 명확히 구분함으로써 멀티플레이어 환경에서의 로직을 효율적으로 구현하시길 바랍니다.

이미지 출처: Unreal Engine Documentation

도움이 되셨길 바랍니다!

themoon007님의 프로필 이미지
themoon007

작성한 질문수

질문하기