강의

멘토링

로드맵

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

임동재님의 프로필 이미지
임동재

작성한 질문수

이득우 선생님 이것좀 봐주세요. 패키지 강의 질문입니다.

작성

·

63

·

수정됨

0

애셋 로딩 방식을 동기/비동기/강참조/약참조 로 나눠서 정리해봤는데요.

동기는 게임 로직 진행 중에 멈춰도 상관없을 때 쓰임.

비동기는 게임 로직 진행을 멈추는 것을 원치 않을 때 쓰임.

강참조는 게임 시작 전에 필요한 애셋일 경우 쓰임.

약참조는 쓰다 사라질 소모품같은 애셋일 경우 쓰임.
이렇게 생각하면 될까요?
그리고 약참조의 경우, TSoftObjectPtr를 사용하기에 수동으로 로드를 해줘야 한다고 봤는데요.
LoadObject( ), StaticLoadObject( ) 이 함수를 쓰거나 FStreamingManager 클래스를 쓸 경우
다 약참조라고 보면될까요?
맞다면 실습 코드에서 동기랑 비동기 방식 짜주신거 다 약참조라 보면 되나요?
스크린샷 2024-10-10 193543.png 스크린샷 2024-10-10 193558.png

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
임동재님이 정리하신 동기/비동기, 강참조/약참조의 사용 방식은 일반적으로 맞는 접근입니다.

  1. 동기/비동기 로딩:

    • 정의하신 대로 동기는 게임 로직이 진행되는 동안 멈춰도 괜찮을 때 사용하고,
    • 비동기는 게임의 흐름을 방해하고 싶지 않을 때 사용합니다.
  2. 강참조/약참조:

    • 강참조는 메모리에 계속 남아 있어야 하는 중요한 애셋에 사용합니다.
    • 약참조는 사용 후 메모리에서 제거할 수 있는 애셋에 적합합니다.

약참조의 경우, TSoftObjectPtr를 사용하여 수동으로 로드를 해야 하므로 LoadObject(), StaticLoadObject() 등의 함수를 사용합니다. FStreamingManager도 이러한 애셋의 스트리밍 관리에 관여합니다. 따라서, 약참조로 본 것이 맞습니다.

실습 코드에서 동기와 비동기 방식을 확인해보신 후, 사용하는 지형이 약참조 기반인지 확인할 필요가 있습니다. 코드 내용에 따라 다를 수 있기 때문입니다.

추가적으로, 이미지를 통해 제공된 코드가 어떻게 구성되어 있는지, 동기와 비동기, 강참조와 약참조를 어떻게 활용하는지 깊이 있게 이해할 수 있습니다. 각 코드의 특징을 파악하면서 살펴보세요.

도움이 되셨길 바랍니다!
이미지 출처: Inflearn

임동재님의 프로필 이미지
임동재
질문자

화긴

임동재님의 프로필 이미지
임동재

작성한 질문수

질문하기