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

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

kannu cast님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

3강 : 캐릭터의 입력 처리

PossessedBy() 함수는 싱글플레이에서는 호출되지 않나요?

작성

·

53

0

PossessedBy 함수가 서버에서만 호출된다면, 싱글플레이용 게임에서는 어느 위치에서 Character 의 ASC 에 PlayerState 의 ASC 를 대입하는게 적절할지 궁금합니다.

답변 2

0

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

싱글플레이는 멀티플레이의 서버에 대응되는 개념이라 PossessedBy함수가 호출됩니다.

0

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

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

싱글플레이 환경에서는 PossessedBy 함수가 호출되지 않는다는 점에서 질문을 주셨습니다. 싱글플레이에서는 PlayerController와 Pawn(혹은 Character)의 흐름이 멀티플레이어와는 조금 다르게 동작할 수 있습니다. 하지만 기본적으로 언리얼 엔진에서 PossessedBy 함수는 서버에서 클라이언트를 소유할 때 호출되는 함수이며, 싱글플레이에서도 PlayerController가 Pawn을 소유할 때 호출됩니다. 따라서 공개적인 역할을 수용할 때는 여전히 유효합니다.

싱글플레이 모드에서 Character의 ASC에 PlayerState의 ASC를 대입하는 가장 적절한 시점은 일반적으로 BeginPlay() 함수 내에서 이를 수행하는 것이 좋습니다. BeginPlay는 액터가 플레이에 들어가는 시점에 호출되므로, 이곳에서 ASC를 적절히 설정해주면 이후의 게임플레이 로직에서 문제가 생기지 않을 것입니다.

관련하여 기존에 비슷한 질문이 있었던 것이 확인됩니다. 다음 질문 링크를 참고하셔서 더 깊이 있는 내용을 확인해 보시기 바랍니다:

  1. SetupGASInputComponent 호출 부분 질문입니다.

    • 이 질문에서는 SetupGASInputComponent의 역할과 호출 시점에 대해 설명하고 있습니다.

추가적으로, 언리얼에서 싱글 플레이와 멀티플레이 환경에서의 차이점을 이해하시면 도움이 많이 될 것입니다.

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