inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

3강 커넥션과 오너십

OnRep_Owner() 함수를 통한 오너값 동기화

144

rudwo4861

작성한 질문수 1

0

안녕하세요 선생님 질문사항이 있어 글 남깁니다!

 

3강 커넥션과 오너십 강의 영상 41:25 쯤 서버와 클라이언트의 오너값이 동기화가 된다고 하셨는데 그럼 클라이언트에 존재하는 Player와 서버에 존재하는 Player 둘 다 같은 PlayerController가 빙의된 상태라는 걸까요?

아니면 클라이언트가 접속 요청할 때 Login 과정에서 복제된 PlayerController를 빙의하는 걸까요?

unreal-engine 네트워크 언리얼-c++

답변 2

0

이득우

같은 플레이어 컨트롤러의 정의가 어떤건지 궁금하네요.
서버와 클라이언트에 할당된 번호가 다르기에 같은 플레이어 컨트롤러라고 할 순 없습니다.
클라이언트에서 클라이언트를 대표하는 플레이어 컨트롤러는 언제나 0번 입니다.
따라서 복제된 플레이어 컨트롤러라고 보는게 맞을 것 같습니다.

0

rudwo4861

답변 감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. rudwo4861님.

언리얼 엔진에서 네트워킹을 이해하는 데 있어 오너십과 관련된 개념은 매우 중요합니다. 질문하신 내용에 따라 간단히 설명드리자면:

  1. 서버와 클라이언트의 오너값 동기화: 언리얼 엔진의 네트워크 통신에서는 특정 액터의 오너가 누구인지에 대한 정보가 서버와 클라이언트 간에 동기화됩니다. 이는 리플리케이션 메커니즘을 통해 클라이언트 측에서도 동일한 오너 정보를 가질 수 있도록 합니다.

  2. PlayerController의 역할: 멀티플레이 환경에서, 클라이언트와 서버 양쪽에 PlayerController가 존재하며, 각 클라이언트의 입력을 처리합니다. 클라이언트는 자신의 PlayerController를 통해 게임 세계와 상호작용하며, 서버는 이러한 클라이언트의 요청을 처리하여 게임의 공동 세계 상태를 유지합니다.

  3. 클라이언트의 로그인 과정: 클라이언트가 서버에 접속할 때, 서버는 각 클라이언트에 대해 고유한 PlayerController를 생성하고 이를 해당 클라이언트의 Pawn이나 캐릭터에 빙의(Possess)시킵니다. 이를 통해 클라이언트는 자신의 캐릭터를 제어할 수 있게 됩니다.

관련하여 더 자세한 설명을 참고하실 수 있는 기존 질문과 답변을 추천드립니다:
- 3강의 ‘액터의 접속을 소유하다’라는 표현이 잘 이해가지 않습니다.
- IsLocalControlled와 오너쉽

이 링크들은 액터 소유권 및 네트워크 상호작용에 대한 다양한 측면을 다루고 있어 이해를 더욱 돕는 데 유용할 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

5.6버전 Networking Insights 실행안됨 문제에 관하여

0

29

1

8강 중간, 분수대의 SetOwner 에 대해 궁금합니다.

0

77

2

플레이어(Actor) 로 (리슨)서버에서 생성 되나요?

0

99

2

2강) HandleBeginPlay 의 역활이 궁금합니다.

-1

72

2

3강 중간, 모드 로그로 찍을 시 스탠드얼론이 안찍힙니다.

1

76

2

CompressedFlag 질문

0

58

2

10강까지 머리 위 체력바가 표시가 안됩니다.

0

109

3

10강까지 머리 위 체력바가 표시가 안됩니다.

0

95

2

16:44 부분에서 질문이 있습니다.

0

104

2

12:50 NetMulticast RPC 커넥션 관려하여 질문이 있습니다.

0

121

2

github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.

0

116

3

언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.

0

164

3

Insight 사용이 안되어서 문의 드립니다!

0

129

2

하위 레벨...?? High Level 말씀하신거죠..??

0

146

1

CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문

0

190

1

조건식 프로퍼티 리플리케이션 질문

0

144

2

ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.

0

160

2

7강에서 DORM_Initial 안됨

0

128

3

안녕하세요 강의 내용 정리에 관련해서 질문있어요

0

131

2

캐릭터 클래스의 mesh 관련

0

132

2

3파트 6강 분수대 로테이트에 문제가 생겼습니다.

0

131

3

클라이언트의 오너십 설정에 대해서 궁금합니다.

0

201

3

프로퍼티 리플리케이트 동기화 보장 개념.

0

225

2

결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?

0

92

2