다양한 기록

[Unreal Network] 개요 본문

언리얼 엔진/Unreal Network Framework

[Unreal Network] 개요

라구넹 2025. 1. 13. 13:48

멀티플레이어 설정

실행 옵션에서 리슨 서버로 설정

Allow late joining 활성화

* 저거 없으면 클라이언트 추가하는 기어 버튼 안나옴

 

추가 시 클라이언트 하나 더 생김

 

고급 옵션에서 Always On Top 하면 항상 상위의 윈도우로 동작

 

언리얼 네트워크 멀티플레이어 프레임워크

어플리케이션: 게임인스턴스, 월드, 네트워크 모드

접속 플로우: 로그인, 커넥션, 오너십, 역할

액터 리플리케이션: 연관성, 우선권, 빈도

RPC: 신뢰성, 검증

움직임 리플리케이션: 캐릭터, 물리

프로퍼티 리플리케이션: 상태, 최적화

 

* 언리얼엔진에서 멀티플레이용으로 만든 게임은 싱글로 그대로 작동함

 

* 언리얼 엔진은 클라이언트 서버 모델 사용

네트워크의 한 대의 컴퓨터가 서버 역할

 

동작시키는 프로그램은 게임 인스턴스라고 하는 클래스가 관리함

게임인스턴스가 만드는 앱의 테두리 안에 월드라는 콘텐츠가 담김

 

멀티플레이는 게임 서비스가 서버와 클라이언트들을 묶음

클라이언트는 독립적인 게임 인스턴스를 가지는데, 환경만 제공한다고 보면 됨 (Proxy)

접속을 담당하는 액터, 접속 주체가 있음

 

클라이언트와 서버 간 동일한 액터가 나타나도록 하는 것

=> 액터 리플리케이션

말고도 움직임, 프로퍼티 리플리케이션 등도 있음

RPC에 비해 프로퍼티 리플레이션이 반응속도가 느리지만 확실하게 전달

 

C++로 가능한 것

- 필수적으로 사용되는 가상 함수의 활용 가능

- 제대로 된 리플리케이션 콜백의 호출 가능

- 리플리케이션 조건의 세밀한 제어 가능

- 네트워크 전송 최적화