액터 리플리케이션

액터 오브젝트 리플리케이션을 여러모로 살펴봅니다.

Windows
MacOS
Linux

네트워킹 개요에서 언급했듯이, 리플리케이션의 주역은 Actor, 액터입니다. 서버는 액터 목록을 유지하고, 클라이언트에서 (리플리케이트되도록 마킹된) 각 액터에 대한 근접 추정치를 유지할 수 있도록 클라이언트를 주기적으로 업데이트합니다.

액터 업데이트 방식은 크게 두 가지입니다:

  • 프로퍼티 업데이트

  • RPC (Remote Procedure Call).

프로퍼티 리플리케이션과 RPC 사이의 큰 차이점은, 프로퍼티는 변경될 때마다 자동으로 리플리케이트되는 반면, RPC 는 실행될 때만 리플리케이트된다는 점입니다.

리플리케이트시켜야 하는 프로퍼티 유형의 좋은 예라면, 액터의 생명력(health)을 들 수 있습니다. 이런 것은 변할 때마다 클라이언트에서 알았으면 좋겠지요. 생명력 값이 변하지 않으면, 아무것도 전송되지 않습니다. 매우 효율적이지요. 하지만 유념할 것은, 이 프로퍼티가 변하지 (그래서 대역폭을 차지하지) 않더라도, 이 값이 변했는가 아닌가 결정하는 데 드는 CPU 비용은 있다는 점입니다. 즉 자주 변경되는 프로퍼티에 맞춰져 있습니다.

프로퍼티 관련 상세 정보는 프로퍼티 리플리케이션 문서를 참고하세요.

RPC 의 예제라면, 각 클라이언트마다 특정 위치에서 보이도록 하고픈 폭발을 들 수 있습니다. 위치와 반경을 파라미터로 하는 RPC 를 선언한 다음, 폭발이 발생할 때마다 그것을 호출해 주면 됩니다. 이것을 클라이언트 통신을 위한 리플리케이트용 프로퍼티 그룹으로 저장할 수도 있지만, 효율은 약간 떨어지는 것이, 폭발이라는 것이 프로퍼티로 할 만큼 자주 일어나지는 않을 수 있기 때문입니다.

RPC 관련 상세 정보는, RPC 문서를 참고하세요.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback