1. 변수 리플리케이션 -  함수 리플레케이션 선택

- 일회성 이벤트가 발생할 때라면, 함수 리플리케이션이 좋다

- 변한 다음 유지되며, 클레이언트에 잠깐 보여야 하는 경우, 변수 리플리케이션이 좋다 (ex::신호등)

 

OO를 작동하면, 클라이언트 보단 서버에서 결정하는 것이 좋다. 즉 서버만이 발동 여부를 결정한다 (좋음)


2. 함수호출 리플리케이트

 

함수 호출 역시 리플리케이트 가능합니다

리플리케이트되는 함수는 크게 세 가지 유형이 있습니다:
Multicast (멀티캐스트), Server (서버), Client (클라이언트) 입니다. 

멀티캐스트 함수는 실행되는 곳인 서버에서 호출된 이후, 클라이언트에 자동으로 전송됩니다. 

서버 함수는 클라이언트에서 호출되어 서버에서만 실행됩니다. 

클라이언트 함수는 서버에서 호출되어 소유중인 클라이언트에서만 실행됩니다.

서버/클라이언트 리플리케이션 함수에는 Net Owner (네트 소유자)가 있는 액터에만 사용할 수 있다는 추가적인 제약이 있습니다. 네트 소유자가 있는 액터라 함은, 플레이어 컨트롤러이거나 거기에 소유된 경우입니다. 
예를 들어 플레이어 컨트롤러에 빙의된 폰에는 서버/클라이언트 리플리케이트되는 함수를 가질 수 있습니다.



Not Replicated - 로컬 머신이외에는 호출이 안된다.

Mutilcast - 로 등록된 함수가 호출 되면, 이 뒤에 일어나는 모든 스크립트를 실행하고,
               실행한 것을 모든 클라이언트에서도 호출한다.

※ Mutilcast는 전달량이 많을 경우, 보호하는 엔진 기능이 있다.
같은 프레임에서 두번 이상 발생한 경우, 이후 다음 프레임까지 호출을 거절한다.
(네트워크가 가득차지 않도록하기 위해서)



3. 신뢰성 (Reliable)

 

신뢰성


Replicated Function Calls
 (리플리케이트된 함수 호출)은 
Reliable(신뢰성) 또는 Unreliable (비신뢰성) 설정이 가능합니다.

신뢰성 호출은 반드시 실행이 보장되는 반면, 비신뢰성 호출은 트래픽이 심한 경우 실행되지 않을 수가 있습니다. 

비신뢰성 일떄 - 순수 장식성, 대개 장식성인 작업을 할떄 비신뢰성으로 둔다
신뢰성 일떄 - 게임플레이에 영향을 끼치는 경우. 및 네트워크 오가는 내용이 많으면 신뢰성을 체크해서 전달.

+ Recent posts