파이프라인 현지화

팀의 현지화 파이프라인 최적화 방법을 설명합니다.

Windows
MacOS
Linux

애셋 수집

애셋 수집(gather)은 대부분의 리소스를 사용하는 현지화 파이프라인의 일부분입니다. 종종 현지화는 애셋(과 그 종속성)을 로드하여 그 안에 들어있는 현지화 가능 텍스트 값을 추출해야 하기 때문입니다. 수집 도중 실제 로드되는 애셋 수를 최소화하기 위해, 언리얼 엔진 4 (UE4)는 애셋 (저장 시 생성되는) 파일 헤더에 "수집 캐시"를 추가합니다. 즉 애셋 헤더만 로드하면 텍스트를 수집할 수 있다는 뜻입니다.

애셋에 대한 현재 캐시를 확인하려면 콘텐츠 브라우저의 애셋 현지화 메뉴에서 현지화 캐시 표시 를 선택하면 됩니다.
PipelineOpt-01.png

특정 (블루프린트, 레벨 블루프린트가 비어 있지 않은 레벨같은) 애셋 유형은 바이트 코드를 사용하므로 캐시 수집을 생성할 수 없습니다. UE4 가 바이트 코드에서 텍스트 값을 수집할 수는 있지만, 바이트 코드는 휘발성이 너무 강해 안정적으로 캐시에 저장할 수 없기 때문입니다.

바이트 코드로 인해 캐시에 저장되지 않은 애셋 수가 얼마나 되는지 요약은 애셋 수집 도중 로그에 출력됩니다. 애셋 수집이 바이트 코드가 들어있는 애셋에서 수집할 때 시간을 가장 많이 소모한다면, 그 애셋 안의 텍스트를 스트링 테이블로 이동하여 그 안의 항목을 대신 참조할 수 있도록 해야 합니다.

FText::ShouldGatherForLocalization 를 통과하는 시리얼라이즈된 텍스트 값이 들어있는 애셋만 애셋 수집 도중 로드됩니다. 컬처와 상관 없이 비어있는 공백만 있는 텍스트는 물론 스트링 테이블 레퍼런스도 이 검사를 통과하지 못합니다. 그래서 스트링 테이블을 사용하면 애셋 수집 퍼포먼스가 향상되는 것입니다.

애셋 캐시 유효성 검사

프로젝트에서 애셋에 수집 캐시가 없거나 구버전인 것들을 보고하거나 고치는 데 도움이 되는 유틸리티가 몇 가지 있습니다. 실행하는 데 시간이 조금 걸리는데, 모든 애셋을 메모리에 로드해야 하기 때문입니다. 하지만 캐시에 없는 애셋이 많은 경우 앞으로 시간이 크게 절약될 수 있습니다. 이 유틸리티는 일반 현지화 커맨드릿에 추가 인수를 붙여 실행합니다.

예:

-run=GatherText-config=Config/Localization/Game_Gather.ini 
-ReportStaleGatherCache

언리얼 엔진 4.20 미만으로 만든 프로젝트를 업그레이드하는 경우, 캐시가 구버전이면 현지화에 문제가 생길 수 있으므로 최소 ReportStaleGatherCache 는 실행해서 캐시가 최신 상태인지 확인해야 합니다.

이 옵션은 현지화 대시보드에 표시되지 않습니다. 대신 현지화 타깃에 대한 대시보드가 생성하는 수집 INI 파일을 사용해서 현지화 커맨드릿을 수동 실행해야 합니다.

인수

설명

ReportStaleGatherCache

현지화 타깃에 대한 manifest 와 함께 StaleGatherCacheReport.txt 파일을 생성합니다. 이 파일에는 구버전 수집 캐시에 들어있지 않은 애셋 목록이 들어있습니다.

FixStaleGatherCache

구버전 수집 캐시에 들어있는 애셋을 다시 저장해서 자동으로 고치기 시도해 봅니다.

FixMissingGatherCache

수집 캐시를 만들기에 너무 오래된 애셋의 경우, 다시 저장하여 수집 캐시가 없는 애셋을 자동으로 고치기 시도합니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼