Inflearn brand logo image

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

허 재현님의 프로필 이미지
허 재현

작성한 질문수

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

11강 행동트리 모델의 이해

ConstructorHelpers::FObjectFinder로 에셋 찾기

작성

·

40

0

ConstructorHelpers::FObjectFinder로 에셋을 찾게 되면 에셋 위치를 나중에 변경할 일이 있을때 Copy Reference 주소 코드를 다 바꿔야 할거 할텐데, 현업에서도 이렇게 쓰이나요? 아니면 따로 관리하는 방법은 없나요?

답변 2

1

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

안녕하세요.

강의 후반부에 ini 파일을 통해서 초기화하는 방법을 다룹니다.
해당 애셋에 대응하는 레퍼런스 문자열만 전달하면 되기때문에, 데이터 테이블이던가 다른 방법으로 자유롭게 구상하셔도 무방합니다. 아마도 해당 회차 강의를 보시면 이해가 되지 않을까 싶습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 허 재현님.

언리얼 엔진에서 ConstructorHelpers::FObjectFinder를 사용하여 에셋을 찾는 방법은 유연성보다 빠르고 간단하게 에셋을 로드할 수 있도록 도와줍니다. 하지만, 말씀하신 것처럼 에셋 경로가 변경될 경우 복사한 레퍼런스를 사용하고 있는 모든 코드를 업데이트해야 하는 불편함이 있습니다.

현업에서는 다음과 같은 몇 가지 방법으로 이러한 문제를 최소화합니다:

  1. 데이터 테이블 사용:

    • 에셋의 경로를 직접 코드에 명시하지 않고, 데이터 테이블을 활용하여 에셋 경로를 관리합니다. 데이터 테이블에 경로를 저장해두고 코드에서는 경로를 참조하여 에셋을 로딩합니다. 경로 변경 시 데이터 테이블만 수정하면 되므로 관리가 용이합니다.
  2. 컨텐츠 디렉토리 관리:

    • 초기 프로젝트 설정 단계에서 에셋의 논리적인 경로 구조를 세밀하게 계획하여, 경로 변경이 최소화되도록 설계합니다.
  3. 소프트 레퍼런스 사용:

    • 에셋에 대한 하드 레퍼런스 대신, 소프트 레퍼런스를 사용하여 에셋을 관리합니다. 이를 통해 에셋 경로를 변경할 경우의 유지보수 부담을 줄일 수 있습니다. 소프트 레퍼런스는 필요할 때만 에셋을 메모리에 로드하므로 성능 향상에도 기여할 수 있습니다.

아래의 관련된 질문과 답변을 참조하시면, 에셋 관리 방법에 대한 추가적인 인사이트를 얻으실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

허 재현님의 프로필 이미지
허 재현

작성한 질문수

질문하기