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

themoon007님의 프로필 이미지

작성한 질문수

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

8강 : 어트리뷰트와 UI 연동

플레이어에만 위젯을 넣었는데 NPC에서 HpBar가 어떻게 나오나요??

해결된 질문

24.01.22 14:33 작성

·

283

·

수정됨

0

강의 따라가다가 제 화면에서는 플레이어에만 HpBar가 나오는데 강의에선 NPC에도 나와서 질문 드렸습니다.

 

+

npc에도 같은 위젯코드를 넣어봤더니 에디터를 처음 켤 때 로딩중에 위젯컴포넌트에서 InitWidget()이 실행되면서 위젯의 SetAbilitySystemComponent()를 호출하게 되는데요.

 

저는 SetAbilitySystemComponent()에 ensure을 놔뒀더니 이 타이밍이 빙의 전이라 어트리뷰트가 등록이 안되있는 상태라서 에러가 발생하는 것같습니다.

강의 처럼 if 로직으로 바꾸면 되긴하는데 로딩중에 위젯컴포넌트의 InitWidget()가 호출되는 이유가 무엇인가요? 월드에 npc가 배치되있긴하지만 BeginPlay()를 호출하지는 않는데 왜 InitWidget()이 호출되는지 잘 모르겠습니다.

제가 part2에서 들었던거는 액터의 BeginPlay() 이후에 호출된다고만 들었는데 다른 이유가 있나요??

 

이것 때문인 것 같습니다.

답변 2

0

해질녘한잔님의 프로필 이미지

2024. 06. 12. 22:05

여기 댓글을 통해서 해결은 하였는데 23:41 이후에도 NPC에 HP 추가 관련 내용은 없는 것 같습니다.

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

2024. 06. 13. 00:36

아.. 자막 작업하면서 이전 수정 전 영상으로 덮어써진 것 같습니다.
우선 자막 이전 영상으로 돌린 후 8강 자막 영상은 다시 올리겠습니다.
제보 감사합니다!

0

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

2024. 01. 22. 22:02

음.. 글쎄요 어떻게 된건지는 이것저것 조사해봐야 알텐데요, 예제 완성 코드도 동일한 현상인지 궁금합니다.

themoon007님의 프로필 이미지
themoon007
질문자

2024. 01. 22. 22:13

수업자료는 영상처럼 npc도 같이 나옵니다.

강의에선 HpBar를 플레이어에만 생성자에 코드를 넣었는데

수업자료에는 NPC에도 같은 코드가 있었습니다.

강의에서 내용이 빠진 것 같습니다.

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

2024. 01. 22. 23:07

네 제보 감사합니다. 확인해보겠습니다

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

2024. 01. 23. 17:36

영상 편집하면서 NPC에 HP바를 구현하는 부분이 누락되었네요.
지금 해당 부분을 추가해 다시 올렸습니다.
23:41초부터 확인할 수 있습니다.

감사합니다!