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

k ch님의 프로필 이미지
k ch

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

8강 아이템 시스템

아이템 먹기전에 무기로딩이 돼있습니다.

작성

·

779

·

수정됨

0

아이템 먹기전에 Obj List Class=SkeletalMesh 시

이미 리소스를 불러와 있는상태인데요.. 로그 확인했습니다.

 

어디선가 불러오는거같은데 확인할 수 있는 방법이 있을까요??

답변 3

4

혹시 문제 해결하셨나요?

아직 동일 하신다면 만들었던 Weapon Data Asset(영상에서는 'Item/Weapon/ABIW_Weapon1' 로 나와있습니다)에서 Weapon Mesh 무기를 다시 지정 해보시겠어요?

저도 동일한 문제가 발생해서 코드도 확인해 봤는데도 문제가 없어서 언리얼 엔진 내 문제라고 판단하여 Weapon Data Asset을 설정 한 부분을 다시 설정 했더니 문제가 해결되는 군요..(버그 인가 봅니다;;)

요약

1. 39:30 에서 Obj List Class=SkeletalMesh 를 입력 했을때 Weapon Mesh 감지가 된다면

2. Item/Weapon/ABIW_Weapon1 있는 Weapon Mesh를 다른 Weapon 으로 설정 저장 후, 다시 재설정 저장

 

k ch님의 프로필 이미지
k ch
질문자

이문제였네요 ㅜㅜ 감사합니다

감사합니다!.. 언리얼 5.3기준으로 보고있는데 발생해서 뭔가 했는데 해당 방법으로 해결했습니다.

0

k ch님의 프로필 이미지
k ch
질문자

( 사진이 작은데 우클릭후 새탭에서 열기하면 크게 보이네요!)

제 편한대로 해서 강의내용이랑 변수명이 다를순있는데

이미 웨폰 메시가 로딩이 되어있어

if(wData->WeaponMesh.IsPending()) 이분기를 안탑니다..

언리얼은 처음이라 어디서부터 찾아야 할지 디버깅이 막막하네요 ㅜㅜ

친절하게 답변해주셔 감사합니다.

재시작후 같은결과가 나옵니다.

 

 

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

답변이 늦었습니다.
음.. 캐릭터에서 EquipWeapon 함수는 TakeItem 델리게이트가 수행될 때만 호출됩니다. 따라서 이미 무기 리소스가 로딩되었다면, 레벨에 무기가 배치되어 있거나 무기 아이템 선언이 TObjectPtr로 되어 있지 않나 생각됩니다.
아이템 데이터의 스켈레탈 메시가 다음과 같이 TSoftObjectPtr로 선언이 되어있을까요?
TSoftObjectPtr<USkeletalMesh> WeaponMesh;

혹시 모르니 상자를 지우고 레벨을 저장한 후에, 에디터를 재시작하고 변경된 상자로 다시 배치해보세요.

0

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

영상 37분에서는 3개가 나오는데, 39분 초에 상자를 먹기 전에도 3개가 나온다고 이해하면 될까요?

혹시 모르니 에디터를 재시작하고 다시 테스트해보시겠어요?

k ch님의 프로필 이미지
k ch
질문자

위에분 말대로 DataAsset에 Mesh다시 연결해줘서 해결했습니다. 이미 저장된 데이터는 그대로 TObjectPtr로 사용이 되나 보네요...

k ch님의 프로필 이미지
k ch

작성한 질문수

질문하기