[UE5] 멀티 플레이어 게임 만들기

·2023년 2월 26일

UE5

목록 보기
1/5

관련 문서

https://docs.unrealengine.com/5.0/ko/multiplayer-programming-quick-start-for-unreal-engine/

참고

리플리케이션(Replication) : 언리얼 엔진에서 클라이언트와 서버 간에 데이터와 절차 호출을 동기화하는 프로세스


함수 호출 순서

(1) 외부 액터 또는 함수가 캐릭터에 CauseDamage 호출, 캐릭터는 TakeDamage 함수 호출

(2) SetCurrentHealth 함수를 통해 서버에서 플레이어의 현재 체력 값 변경

// FMath::Clamp(Value, Min, Max)

// Value가 Min, Max 사이의 값이면 Value 반환
// Value가 Min보다 작으면 Min 반환
// Value가 Max보다 크면 Max 반환 

(3) OnHealthUpdate가 플레이어의 체력 변경에 반응하는 모든 함수 기능 실행

(4) 각 클라이언트는 새 CurrentHealth 값을 서버로부터 받으면 OnRep_CurrentHealth 호출

(5) OnRep_CurrentHealth가 OnHealthUpdate를 호출하여 각 클라이언트가 동일한 방식으로
새 CurrentHealth 값에 반응


결과

플레이어는 서로가 움직이는 것을 볼 수 있음

서로를 향해 커스텀 발사체 발사 가능

한 플레이어가 커스텀 발사체에 맞으면 폭발 파티클이 보임
맞은 플레이어가 받은 데미지와 현재 체력을 알려주는 히트 메시지 표출됨

1개의 댓글

comment-user-thumbnail
2023년 8월 20일

안녕하세요 저도 Longvinter 모작을 하려고 하는 학생입니다 혹시 리소스 어떻게 얻으셨는지 알 수 있을까요? UE로 파일 뜯는중인데 잘 안되어서 여쭈어 봅니다 ㅠㅠ

답글 달기