ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크 환경에서 액터의 역할 - ROLE -
    Unreal Engine 2024. 4. 17. 16:41

     

    서버에 있는 액터는 Authority를 가짐 

    클라이언트의 액터는 대부분 서버의 액터를 복제한 허상(Proxy)에 불과함

     

    현재 동작하는 애플리케이션에서의 역할을 Local_Role, 커넥션으로 연결된 애플리케이션에서의 역할을 Remote Role이라고 한다.

     

     

     

     

    클라이언트의 Proxy는 크게 Autonomous와 Simulated로 구분된다.

    Autonomous는 클라이언트의 입력 정보를 서버에 보내는 능동적인 역할을 일부 수행한다. (플레이어 컨트롤러, 폰)

    Simulated는 일방적으로 서버로부터 데이터를 구신하고 이를 반영한다.

     

    신뢰할 수 있는 액터, 즉 Authority를 가진 액터만 게임 로직을 수행할 수 있음

    AActor::HasAuthority로 확인 가능

     

    Autonomous Proxy는 예외적으로 입력에 관련된 로직을 수행할 수 있음

    AController::IsLocalController

    APawn:: IsLocallyControlled

     

    서버에만 존재하는 액터: 게임 모드

    서버와 모든 클라이언트에 존재하는 액터: 배경 액터와 폰

    서버와 소유하는 클라이언트에만 존재하는 액터: 플레이어 컨트롤러

    클라이언트에만 존재하는 오브젝트: 애니메이션 블루프린트 및 HUD

     

    서버는 변경된 속성을 전달하고, 변경된 속성에 따라 애니메이션과 UI를 바꾸도록 설계함

     

    아래 코드를 통해 Autonomous Proxy인 캐릭터만 조종 가능

    if (!IsLocallyControlled()) return;

     

    'Unreal Engine' 카테고리의 다른 글

    Unreal Insight  (0) 2024.04.20
    1초마다 실행하는 함수  (0) 2024.04.18
    Actor Replication  (0) 2024.04.18
    Connection Handshaking  (0) 2024.04.17
    이득우의 Multi-Player Framework  (0) 2024.04.15
Designed by Tistory.