작성
·
782
·
수정됨
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 으로 설정 저장 후, 다시 재설정 저장
0
( 사진이 작은데 우클릭후 새탭에서 열기하면 크게 보이네요!)
제 편한대로 해서 강의내용이랑 변수명이 다를순있는데
이미 웨폰 메시가 로딩이 되어있어
if(wData->WeaponMesh.IsPending()) 이분기를 안탑니다..
언리얼은 처음이라 어디서부터 찾아야 할지 디버깅이 막막하네요 ㅜㅜ
친절하게 답변해주셔 감사합니다.
재시작후 같은결과가 나옵니다.
답변이 늦었습니다.
음.. 캐릭터에서 EquipWeapon 함수는 TakeItem 델리게이트가 수행될 때만 호출됩니다. 따라서 이미 무기 리소스가 로딩되었다면, 레벨에 무기가 배치되어 있거나 무기 아이템 선언이 TObjectPtr로 되어 있지 않나 생각됩니다.
아이템 데이터의 스켈레탈 메시가 다음과 같이 TSoftObjectPtr로 선언이 되어있을까요?
TSoftObjectPtr<USkeletalMesh> WeaponMesh;
혹시 모르니 상자를 지우고 레벨을 저장한 후에, 에디터를 재시작하고 변경된 상자로 다시 배치해보세요.
이문제였네요 ㅜㅜ 감사합니다