네트워킹 콘텐츠 예제

네트워크 기능 콘텐츠 예제 맵에 제공된 샘플에 대한 개요입니다.

Windows
MacOS
Linux

Content Examples (콘텐츠 예제) 프로젝트 안의 Network_Features (네트워크 기능) 맵은 블루프린트만으로 네트워크 함수성을 구현하는 방법을 보여줍니다. 액터에 설정할 수 있는 Replicates (리플리케이트) 부울, Network Authority (네트워크 오소리티) 감지 및 그 오소리티에 따라 다른 로직 실행, Variable Replication (변수 리플리케이션) 사용법 및 게임플레이 도중에 사용되는 방법, 리플리케이트되는 변수 업데이트에 따른 로직 실행을 위한 RepNotify 사용 변수 리플리케이션, 중요하지 않은 게임플레이 요소 또는 일회성 이벤트 처리를 위한 Function Replication (함수 리플리케이션) 등 Replication (리플리케이션) 관련 중요 예제가 제공됩니다.

맵의 다른 섹션에서는 Relevancy (연관성)에 대한 설명 및 서버와 클라이언트 사이를 오가는 정보 통신을 제대로 처리하는 방법에 대한 이해를 돕습니다. 종종 서버에서 전 클라이언트에 모든 정보를 일일이 보낼 (예를 들어 맵의 한 쪽에 있는 플레이어는 다른 쪽에 있는 플레이어가 상자를 열었다든가 하는 정보를 알) 필요는 없습니다. 하지만 이와 같은 상황이 (상자가 열렸던 맵 반대편으로 이동했다든지 해서) 해당 플레이어에게 연관성이 생길 수가 있습니다. 이 맵의 콘텐츠 예제에서는 이와 같은 상황에 대한 처리를 어떻게 하는지, 진행중인 세션에 참가하는 플레이어를 어떻게 처리하는지 살펴볼 수 있습니다.

각 표의 예제 이름을 클릭하면 예제 구성 방식에 대한 추가 자료를 찾아볼 수 있습니다.

리플리케이션

Replication (리플리케이션) 섹션의 예제는 서버와 클라이언트 사이의 정보 통신을 위한 올바른 메서드는 물론 언제 다른 기법을 사용해야 하는지를 보여줍니다.

예제

데모 내용

1.1 Actor Replication

액터 리플리케이션 - 두 액터 중 하나는 Replicated (리플리케이티드) 이고 다른 하나는 아닙니다 (한 액터는 클라이언트/서버 양쪽에 나타나고, 하나는 서버에만 나타납니다).

1.2 Detecting Network Authority and Remote Clients in Blueprints

블루프린트로 네트워크 오소리티 및 원격 클라이언트 감지 - Network Authority (네크워크 오소리티)에 따라 다른 로직을 실행하는 블루프린트 예제입니다 (액터를 서버에서 보느냐 클라이언트에서 보느냐에 따라 다르게 표시합니다).

1.3 Variable Replication

변수 리플리케이션 - 서버에서 클라이언트로 Health 변수를 리플리케이트하는 예제입니다 (액터의 Health 변수가 서버에서 업데이트됨에 따라 클라이언트에도 업데이트되어 표시됩니다).

1.4 Variable Replication (RepNotify)

변수 리플리케이션 (RepNotify) - RepNotify 로 마킹된 변수는 서버와 클라이언트 머신 양쪽에서 자동 업데이트되는 데 대한 예제입니다 (가로수는 RepNotify 변수를 사용하여 클라이언트와 서버 양쪽에 같은 것이 보이도록 합니다).

1.5 Function Replication (RPCs)

함수 리플리케이션 (RPC) - Replicated Function (리플리케이트된 함수)는 서버 또는 클라이언트에서 버튼이 눌렸을 때의 통신에 사용됩니다.

연관성

Relevancy (연관성) 섹션에 표시된 예제는 상자를 여는 데 대한 Network Relevancy (네트워크 연관성) 처리 방법 및 서버와 클라이언트 사이의 상태 통신 방법 데모입니다. 한 액터가 연관성이 없다가 생기는 경우를 처리하는 매우 흔한 문제를 해결합니다. 기존에 진행중인 게임에 참가하는 플레이어 처리 문제 해결과도 매우 유사합니다.

아래 예제는 위에 언급된 문제에 대해 가능한 해법과 작동 이유 또는 하지 않는 이유를 알려줍니다. 최종 예제는 여러가지 기법을 사용한 하이브리드 솔루션을 사용하여 문제를 해결합니다.

예제

데모 내용

2.1 Network Relevancy - Not Replicated At All

네트워크 연관성 - 전혀 리플리케이트되지 않음 - No Replication 이 사용되는 연관성 예제입니다 (서버에서는 상자를 열지만, 클라이언트에서는 그 사실을 모릅니다).

2.2 Network Relevancy - Function Replication Solution Attempt

네트워크 연관성 (함수 리플리케이션 솔루션 시도) - Function Replication 이 사용되는 연관성 예제입니다 (서버에서 상자를 열고, 클라이언트에서는 그 사실을 모르며, 그 근처에 가도 열렸는지를 모릅니다).

2.3 Network Relevancy - Variable Replication Solution Attempt

네트워크 연관성 (변수 리플리케이션 솔루션 시도) - Variable Replication 이 사용되는 연관성 예제입니다. 서버에서 상자를 열고, 클라이언트에서 상자가 열리는 것은 못봤지만 가까이 가면 열려있는 것이 보입니다. 파티클 이펙트 역시 재생되는데, 이 경우에는 이미 다른 플레이어가 열었던 것이기 때문에 바람직한 경우는 아닙니다.

2.4 Network Relevancy - Combination Solution

네트워크 연관성 (복합 솔루션) - 상자 열기 관련 이펙트 재생에는 Function Replication 을 사용하고, 상자의 상태와 이미 열렸는지 아닌지에 대한 상태 보존에는 Replicated Variable 을 사용하는 예제입니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼