AssetManager를 사용한 비동기 로딩이 패키지 후 제대로 작동하지 않는 현상에 대한 해결책
소개
Asset Manager 자산의 비동기 로딩 기능 정보 1
이 기사를 참고로 AssetManager를 이용한 비동기 로드를 구현했는데, 패키지 후에만 동작하지 않는 현상을 만났으므로 그 대처법에 대해 써 갑니다.
구체적인 증상
AssetManager에서의 비동기 로드에 대해 잘 모르는 분은 「소개」에 기재된 참조처의 기사에서 알기 쉽게 해설되어 있으므로 그쪽을 읽는 것을 추천합니다.
이와 같이 처리를 짜 비동기 로드를 해, 완료한 후에 OpenLevel로 레벨을 이동하도록(듯이) 했습니다.
겉으로보기에는 문제가없는 것처럼 보이며 PIE에서도 Standalone에서도 문제없이 작동하지만 패키지 후에는 정상적으로로드되지 않습니다.
원인에 대해
GetPathName의 반환 값 문자열을 확인한 결과,
[파일 경로]/[레벨 이름].[레벨 이름]
의 형태로 출력되었습니다.
솔루션에 대하여
GetPathName의 반환값의 .이후의 확장자에 해당하는 부분이 문제인가라고 생각해, 이하와 같이 캐릭터 라인을 처리했습니다.
Split 노드는 반환 값을 보면 알 수 있지만 파일 경로를 경로, 파일 이름 및 확장자로 분리하는 노드입니다.
분리한 후 [경로]/[파일명] 형태로 하여 이후 부분을 없애고 있습니다.
이와 같이 .이후의 부분을 없애면 에디터상에서도 패키지 후에도 정상적으로 동작하게 되었습니다.
결론
제 경우에는 비동기 로드 → OpenLevel의 처리를 GameInstance에 구현하고 외부에서 호출하여 사용하는 형태로 구현하고 있어 거기에 문제가 있을까 생각했습니다만, 이 기사를 쓰기에 있어서 레벨 블루프린트에 구현한 것 도 만들어 보았습니다만, 같은 동작이었습니다.
따라서, 아마 GetPathName의 반환값의 .이후가 문제일 것이라고 생각합니다만, 실수나 보충등 있으면, 코멘트등에서 가르쳐 주실 수 있으면 기쁩니다.
Reference
이 문제에 관하여(AssetManager를 사용한 비동기 로딩이 패키지 후 제대로 작동하지 않는 현상에 대한 해결책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/164375b2b1c12968b887
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AssetManager에서의 비동기 로드에 대해 잘 모르는 분은 「소개」에 기재된 참조처의 기사에서 알기 쉽게 해설되어 있으므로 그쪽을 읽는 것을 추천합니다.
이와 같이 처리를 짜 비동기 로드를 해, 완료한 후에 OpenLevel로 레벨을 이동하도록(듯이) 했습니다.
겉으로보기에는 문제가없는 것처럼 보이며 PIE에서도 Standalone에서도 문제없이 작동하지만 패키지 후에는 정상적으로로드되지 않습니다.
원인에 대해
GetPathName의 반환 값 문자열을 확인한 결과,
[파일 경로]/[레벨 이름].[레벨 이름]
의 형태로 출력되었습니다.
솔루션에 대하여
GetPathName의 반환값의 .이후의 확장자에 해당하는 부분이 문제인가라고 생각해, 이하와 같이 캐릭터 라인을 처리했습니다.
Split 노드는 반환 값을 보면 알 수 있지만 파일 경로를 경로, 파일 이름 및 확장자로 분리하는 노드입니다.
분리한 후 [경로]/[파일명] 형태로 하여 이후 부분을 없애고 있습니다.
이와 같이 .이후의 부분을 없애면 에디터상에서도 패키지 후에도 정상적으로 동작하게 되었습니다.
결론
제 경우에는 비동기 로드 → OpenLevel의 처리를 GameInstance에 구현하고 외부에서 호출하여 사용하는 형태로 구현하고 있어 거기에 문제가 있을까 생각했습니다만, 이 기사를 쓰기에 있어서 레벨 블루프린트에 구현한 것 도 만들어 보았습니다만, 같은 동작이었습니다.
따라서, 아마 GetPathName의 반환값의 .이후가 문제일 것이라고 생각합니다만, 실수나 보충등 있으면, 코멘트등에서 가르쳐 주실 수 있으면 기쁩니다.
Reference
이 문제에 관하여(AssetManager를 사용한 비동기 로딩이 패키지 후 제대로 작동하지 않는 현상에 대한 해결책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/164375b2b1c12968b887
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
GetPathName의 반환값의 .이후의 확장자에 해당하는 부분이 문제인가라고 생각해, 이하와 같이 캐릭터 라인을 처리했습니다.
Split 노드는 반환 값을 보면 알 수 있지만 파일 경로를 경로, 파일 이름 및 확장자로 분리하는 노드입니다.
분리한 후 [경로]/[파일명] 형태로 하여 이후 부분을 없애고 있습니다.
이와 같이 .이후의 부분을 없애면 에디터상에서도 패키지 후에도 정상적으로 동작하게 되었습니다.
결론
제 경우에는 비동기 로드 → OpenLevel의 처리를 GameInstance에 구현하고 외부에서 호출하여 사용하는 형태로 구현하고 있어 거기에 문제가 있을까 생각했습니다만, 이 기사를 쓰기에 있어서 레벨 블루프린트에 구현한 것 도 만들어 보았습니다만, 같은 동작이었습니다.
따라서, 아마 GetPathName의 반환값의 .이후가 문제일 것이라고 생각합니다만, 실수나 보충등 있으면, 코멘트등에서 가르쳐 주실 수 있으면 기쁩니다.
Reference
이 문제에 관하여(AssetManager를 사용한 비동기 로딩이 패키지 후 제대로 작동하지 않는 현상에 대한 해결책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Naotsun/items/164375b2b1c12968b887
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AssetManager를 사용한 비동기 로딩이 패키지 후 제대로 작동하지 않는 현상에 대한 해결책), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Naotsun/items/164375b2b1c12968b887텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)