복제와 동기화 개요¶
Strix는 클라이언트마다 게임 월드를 따로 복사해 둡니다. 플레이어에게 똑같은 게임 월드를 만들어 주려면 이 복사본은 모두 동일해야 합니다. 이것을 동기화라고 합니다.
Strix는 게임 월드 속 개체와 그 속성을 실시간으로 동기화합니다. 이번 섹션에서는 동기화에 필요한 기능을 설명합니다.
동기화에는 다음과 같이 몇 가지 타입이 있습니다.
복제¶
먼저, 복사된 월드 각각에 보이는 액터는 모두 같아야 합니다. 한 클라이언트에 스폰된 액터는 다른 클라이언트에도 스폰되어야 합니다. 또, 파괴된 액터는 다른 곳에서도 파괴되어야 합니다. 이 같은 동기화를 복제라고 합니다.
복제는 액터에 연결한 Strix Replicator 요소가 처리합니다.
움직임¶
멀티플레이어 게임 중에는 플레이어 캐릭터뿐만 아니라 NPC와 장애물의 움직임까지 동기화해야 하는 것도 많습니다.
움직임 동기화는 다음 두 요소로 처리하며, 게임 디자인에서 액터의 특성에 맞춰 게임에 등장하는 액터별로 둘 중 하나를 선택할 수 있습니다.
Strix Movement Synchronizer 요소(다재다능한 움직임 동기화기)
Strix Transform Sync 요소(간단한 움직임만 하는 액터에 적합한 경량 움직임 동기화기)
애니메이션¶
액터는 살아 있고 실제처럼 보이기 위해 자주 애니메이션을 합니다. Unreal에는 이 역할을 담당하는 애니메이션 블루프린트 시스템이 있습니다. 반면 Strix에서는 Strix Animation Sync 요소가 애니메이션을 동기화합니다.
액터 속성/변수¶
액터의 자체 속성을 동기화하고 싶을 때도 있을 것입니다. Strix Replicator에는 세부정보 패널에 표시하는 방법만으로 액터 블루프린트의 속성을 동기화하는 능력이 있습니다. (단, 여기에는 몇 가지 한계가 있습니다.)
RPC¶
RPC는 remote procedure call(원격 프로시저 호출)의 약자로, 다른 클라이언트에서 액터의 메서드를 호출할 때 이용할 수 있습니다.