UDN
Search public documentation:

ReplicationTemporaryKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 네트워킹과 리플리케이션 > 임시 패턴

임시 패턴


문서 변경내역: James Tan 작성. 홍성진 번역.

개요


임시 패턴은 수명 내도록 예상이 가능한 액터가 있을 때 사용할 수 있는 패턴으로, 서버에서 클라이언트로 초기 리플리케이트해 줘야 하는 경우는 예외로 합니다. 이 패턴은 클라이언트측 액터에만 통합니다.

프로젝타일


이 패턴은 언리얼 토너먼트의 프로젝타일에 사용됩니다. 일직선상으로, 일정한 속력으로 날아가는 로켓같은 프로젝타일 입니다. 그렇기에 위치/로테이션/속도와 가속도 프로퍼티가 전송되는 초기 리플리케이션 이후에는, 프로젝타일의 서버 버전과 클라이언트 버전의 연결을 끊어도 아무런 상관이 없을 것입니다. 프로젝타일의 위치를 쉽게 예측할 수 있을 것이기 때문입니다.

Projectile 프로퍼티

  • bNetTemporary - 초기에만 리플리케이트해 준 다음 떼어내지는 프로젝타일에 참으로 설정합니다.
  • bGameRelevant - 게임에 항상 연관되는 프로젝타일에 참으로 설정합니다.
  • bReplicateInstigator - 인스티게이터 변수를 리플리케이트해야 하는 프로젝타일에 참으로 설정합니다.
  • NetPriority - 다른 액터보다 네트워크 우선권을 높게 주려면 2.5 로 설정합니다. 그러나 이 경우, 초기 리플리케이션을 가급적 빠르게 한다는 소리일 뿐입니다.
  • RemoteRole - 프로젝타일을 클라이언트에서 시뮬레이트해야 하기에 ROLE_SimulatedProxy 로 설정합니다.

  • 순수히 시뮬레이션이기에, 프로젝타일이 "발사하고 잊어버리는"(fire and forget) 형태의 프로젝타일이 아니라면 임시 패턴을 사용해서는 안됩니다. 왜냐면 나중에 서버가 그 가속도, 위치, 로테이션, 속도 등을 변경하는 경우 클라이언트에 리플리케이트되(전해지)지 않기 때문입니다.
  • 순수히 시뮬레이션이기에, 프로젝타일을 "즉사 레이저"(instant death) 형태로 만들지 마십시오. 프로젝타일의 시뮬레이션이 가끔 살짝 틀릴 수 있기 때문입니다.

결론


이 패턴은 "발사하고 잊어버리는" 형태의 네트워크 액터에 좋습니다. 프로젝타일 말고, 이 패턴이 좋은 경우라면:
  • 파티클 이펙트로 캡슐화시킬 수 없는 로직을 요하는 클라이언트측 전용 일회성 이펙트.
  • bAlwaysRelevant 사용에 의한 관련성과는 무관하게, 클라이언트에 비주기적으로 전송되는 일회성 데이터.