[UE4] 플레이어 네트워크화 (1)

3485 단어 위 4UnrealEngine
UE4의 FPS 샘플을 네트워크화합니다.
이번은 여기 의 전반이 됩니다.

샘플 프로젝트 만들기



새 프로젝트에서 1인칭을 선택하여 프로젝트를 만듭니다.




플레이어를 두 사람에게



우선은 플레이어를 2명으로 해 봅니다.
재생 버튼 옆의 ▼를 클릭하고 고급 설정을 선택


여러 화면을 동시에 확인할 수 있도록 화면 크기를 작게 설정하고,
플레이어 수를 2로 설정합니다.


재생 버튼 옆의 ▼를 클릭하고 새 편집기 창을 선택합니다.


각각의 윈도우에서 각 플레이어를 움직일 수 있게 되었습니다.
그러나 아직 상대방의 화면에서 자신의 탄이 생성되지 않습니다.


총알을 네트워크 대응으로



콘텐츠 브라우저 > FiestPersonBP > BluePrints > FirstPersonProjectile
을 두 번 클릭하여 이벤트 그래프를 엽니다.

상세 > ReplicateMovement
자세히 > Replicates
를 체크하고 컴파일 버튼을 눌러 윈도우를 닫습니다.



이제 서버 측의 총알은 클라이언트 측에서 생성됩니다.
클라이언트측 탄은 서버측에서 생성되지 않습니다.

트리거 버튼을 네트워크 지원



초기 상태라면 「트리거를 눌렀을 때에 탄이 생성된다」라고 되어 있으므로,
이것을 "트리거를 눌렀을 때 서버에서 네트워크 이벤트가 발동한다"
이렇게 하여 클라이언트 측에서도 탄이 생성되도록 합니다.

아웃라이너 > FirstPersonCharacter > 클릭하여 블루프린트 편집
탄을 생성하고 있는 부분(Spawn projectile)을 찾습니다.


터치나 컨트롤러 등 불필요한 처리를 깎아,
마우스 오른쪽 버튼 클릭 > 사용자 지정 이벤트 생성 > ServerSpawnProjectile로 이름 지정
그래프 > 서버에서 실행으로 변경


마우스 오른쪽 버튼 클릭 > ServerSpawnProjectile에서 사용자 지정 이벤트를 발생시키는 같은 이름의 함수 생성


트리거로 총알을 냈다.


트리거로 이벤트를 호출하고 이벤트에서 총알을 꺼내도록 다시 연결


이것으로 어느 쪽에서도 탄이 나오게 되었습니다.

좋은 웹페이지 즐겨찾기