인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Sejun Jo님의 프로필 이미지

작성한 질문수

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

6강 액터 리플리케이션 빈도와 연관성

Actor::IsNetRelevantFor() 에 대해 질문이 있습니다

작성

·

54

0

첫 조건문의 조건 중 하나가

ViewTarget == GetInstigator() 일 때 인데
나에게 데미지를 가한 가해자의 정보를 넘겨줘야 한다. 라는 말이 조금 헷갈려서 질문 드립니다.

ViewTarget 에게 데미지를 받은 액터가 연관성이 생기는 것이 맞나요?

ViewTarget 에게 데미지를 가한 액터가 연관성이 생기는 것이 맞나요?

해당 코드만 읽었을 땐 ViewTarget 이 가해자가 되어야 한다고 이해했는데 이해한게 맞는지 재차 확인을 하고싶어 질문 남깁니다

답변 3

0

Sejun Jo님의 프로필 이미지
Sejun Jo
질문자

친절하게 다 설명해주셨지만, 그럼에도 계속 헷갈려서 IsNetRelevantFor 를 사용하는 함수를 찾아보다가

NetDriver.cpp에 있는 IsActorRelevantToConnection 라는 함수를 확인해본 뒤

말씀하신 게 어떤 건지 도식화 해보고 이해했습니다.

디버깅이나 const 누락하지 않기 혹은 소스 코드를 찾는 방법 등 기본기를 계속 생각하게 되는 정말 좋은 강의에요 매번 감사합니다.

0

이득우님의 프로필 이미지
이득우
지식공유자

누군가 멀리서 나를 저격해 공격했을 때, 그 사람(폰)에 대한 정보를 가지고 있어야겠지요.

0

인프런 AI 인턴님의 프로필 이미지

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

Actor::IsNetRelevantFor() 함수에 관련된 질문을 주셨네요. 함수 내에 있는 조건들 중 하나인 ViewTarget == GetInstigator()에 대한 이해가 필요한 것 같습니다.

이 조건은 ViewTarget이 해당 액터의 Instigator일 경우에 복제될 수 있도록 설정하는 것입니다. Instigator란 일반적으로 어떤 액션을 유발한 주체를 의미합니다. 즉, 데미지 또는 어떤 행동을 유발한 ‘가해자’나 ‘주체’를 가리킵니다.

따라서, ViewTarget == GetInstigator()라는 조건의 의미는 “현 액터가 가해자(Instigator)와 같은 경우, 즉 ViewTarget이 가해자일 때” 복제가 이뤄진다는 것을 뜻합니다. 이는 액터가 어떤 행동(예: 공격)을 수행한 주체와 관련이 있을 때 그 액터의 상태가 다른 클라이언트에게 복제될 수 있도록 하는 조건입니다.

이와 관련하여 IsNetRelevantFor()의 사용 사례에 대한 더 많은 정보를 얻고 싶으시면, 다음 게시물을 참고하시면 좋을 것 같습니다:

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

Sejun Jo님의 프로필 이미지

작성한 질문수

질문하기