리디렉터

이동한 에셋의 레퍼런스를 기존 위치에서 새 위치로 리디렉션하는 오브젝트입니다.

When you move or rename an asset in Unreal Engine (UE), it leaves a Redirector in the asset's old location. Packages that are not currently loaded but that reference the asset will therefore be able to find it in its new location. 언리얼 엔진(UE) 에서 애셋을 이동하거나 이름을 바꾸면 원래의 위치에 Redirector (리디렉터)가 남습니다. 이를 통해 현재 로드되지는 않았지만 이 애셋을 참조하는 패키지가 새 위치에서 에셋의 위치를 찾을 수 있습니다.

명명 규칙을 조기부터 일관되게 유지하면 리디렉터로 인한 많은 문제점들을 예방할 수 있습니다. 에셋 이름을 지정하는 방법에 대한 가이드는 권장하는 에셋 명명 규칙 문서를 참고하세요.

콘텐츠 브라우저에 리디렉터 표시하기

콘텐츠 브라우저에서 리디렉터를 표시하는 2개의 필터가 있습니다.

  • 필터 > 다른 필터(Other Filters) > 리디렉터 표시(Show Redirectors) 를 선택하면 콘텐츠 브라우저에 리디렉터가 표시되지만 다른 에셋 유형은 필터링하지 않습니다.

    Access the Show Redirectors filter from the Other Filters category

  • 필터 > 기타(Miscellaneous) > 리디렉터(Redirectors) 를 선택하면 콘텐츠 브라우저에 리디렉터가 표시됩니다. 다른 필터의 작동 방식과 비슷합니다.

    Access the Redirectors filter from the Miscellaneous category

언리얼 에디터에서 리디렉터 정리하기

리디렉터를 제거하고 에셋 레퍼런스에서 에셋의 새 위치를 다시 타기팅하게 하려면 리디렉터를 우클릭한 다음 수정(Fixup) 을 선택합니다. 이렇게 하면 리디렉터를 가리키는 모든 패키지가 다시 저장되고, 참조하는 모든 패키지를 다시 저장했다면 리디렉터가 삭제됩니다.

ResavePackages 커맨드릿을 사용하여 리디렉터 정리

-FixupRedirectors 옵션으로 ResavePackages 커멘드릿을 실행하면 프로젝트의 모든 리디렉터를 정리할 수 있습니다. 다음 예제 명령줄을 참고하세요.

    UnrealEditor.exe <GameName or uproject> -run=ResavePackages -fixupredirects -autocheckout -projectonly -unattended

This version of the command line will check out all files that need to be fixed up from your version control system, then clean up their redirectors on the user's local machine. After that, the user must submit them. -autocheckin can be used by an automated process and it will also check the files in for you. 위 버전은 정리할 필요가 있는 모든 파일을 사용자 버전 컨트롤 시스템에서 체크아웃하고 사용자 로컬 머신에서 리디렉터를 정리합니다. 그런 다음 사용자는 제출을 수행해야 합니다. 자동 프로세스에 -autocheckin 을 사용할 수 있으며, 이 옵션은 파일을 자동으로 체크인합니다.

주의사항

이름 변경

오브젝트를 만들고, 이름을 변경한 기존과 이름이 같은 새 오브젝트를 만들면 오류가 발생합니다. 처음 오브젝트 이름 변경 시 리디렉터가 생성되었는데, 리디렉터와 리소스는 이름이 같을 수 없기 때문입니다.

허상 리디렉터

리디렉터 관련해서 재현이 가능한 알려진 문제가 몇 가지 있습니다:

시나리오 1

  • 오브젝트 이름을 A 에서 B 로 바꿉니다.

  • B 를 삭제합니다

  • B 가 사용되고 있으므로 삭제할 수 없다는 오류 메시지가 뜹니다. 이름변경 도중 생성된 리디렉터가 아직 B 를 가리키고 있기 때문입니다.

시나리오 2

  • 오브젝트 이름을 A 에서 B 로 바꿉니다.

  • 오브젝트 이름을 B 에서 A 로 다시 바꿉니다.

  • A 를 삭제합니다.

  • 첫 이름변경에서 생성된 리디렉터는 소멸되지만, B 에서 새로 생성됩니다. 그 결과 A 는 참조되고 있기 때문에 지울 수 없을 것입니다.

에디터에서나 SavePackages 로 리디렉터를 고친 뒤 삭제를 하면 이 문제가 해결될 것입니다.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소