UDN
Search public documentation:

AutomatedMapBuildKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 레벨 편집 > 맵 빌드 자동화
UE3 홈 > 레벨 디자이너 > 맵 빌드 자동화

맵 빌드 자동화


문서 변경내역: Billy Bramer 작성. 홍성진 번역.

개요


이제 에디터에서 두 가지 방법을 통해 자동화 맵 빌드를 수행할 수 있습니다. 자동화 맵 빌드란, 초기 설정 단계만 지나면 사용자가 일일히 간섭할 필요 없이 알아서 맵을 빌드하고, 저장시키고, 소스 콘트롤에 제출까지 알아서 해 주는 시스템입니다. 이 방법을 통해 사용자가 걱정할 필요 없이 밤을 새서든 빌드를 완료할 수 있습니다. 바이너리 파일을 필요 이상으로 독점 체크아웃하지 않고서도 말이죠. 자동화 빌드는 에디터 내 대화창이나 명령줄을 통해서 지정할 수 있습니다. 모든 자동화 빌드는 현재 에디터 세팅과 무관하게 항상 프로덕션 레벨 라이팅을 사용합니다.

에디터 대화창


에디터 대화창을 통해 사용자가 소스 콘트롤 변경목록 설명과 약간의 개인설정을 선택해 주고 나면, 현재 열린 맵의 자동화 빌드를 시작할 수 있도록 해 줍니다.

대화창 불러오기

에디터 대화창은 다음의 두 가지 방법 중 하나로 불러올 수 있습니다:

  1. 빌드 툴바 아이콘
    BuildToolbar.png

  2. 빌드 메뉴
    BuildMenu.png

대화창 사용하기

BuildDialog.png

변경목록 설명

맵이 빌드되고 저장된 다음 소스 콘트롤에 제출할 때 사용할 변경목록 설명은 사용자가 입력해 줘야 합니다. 사용자가 직접 써 넣는 설명에 더해, 특수한 "[자동 제출]" 태그가 제출된 맵의 설명 앞에 전치사로 붙게 됩니다.

빌드 옵션

사용자가 자동화된 빌드의 작동방식을 변경하는 데 사용할 수 있는 옵션은 다음과 같습니다:

  • Don't Submit in Event of Map Errors (맵 에러가 발생한 경우 제출하지 않음)
    체크하면 빌드한 맵 중 하나라도 하나 이상의 맵체크 에러가 발생하는 경우 소스 콘트롤에 제출하지 않습니다.

  • Don't Submit in Event of Save Errors (저장 에러가 발생한 경우 제출하지 않음)
    체크하면 빌드한 맵을 저장하는 데 어떤 이유로든 실패했을 경우 아무것도 소스 콘트롤에 제출하지 않습니다.

  • Add Files to Source Control if Necessary (필요하면 소스 콘트롤에 파일 추가)
    체크하면 빌드한 맵 중 소스 콘트롤 디포에 이미 있지 않은 맵은 자동으로 제출 프로세스에 추가됩니다.

대화창 빌드 작동방식

사용자가 "빌드"를 클릭하면, 대화창이 빌드용으로 사용가능한 각각의 맵 파일을 검사한 다음, 가능하면 전체 빌드 프로세스를 프로덕션-레벨 라이팅으로 시작합니다. 준비 프로세스에서 확인하는 검사는 모든 맵에 해당하는 파일이 있는지(, 즉 "새로운" 맵은 없는지), 각 맵을 소스 콘트롤에서 체크아웃시킬 수 있는지, 그렇지 않다면 이미 소스 콘트롤 디포에 있는지, 파일이 읽기-전용은 아닌지 등입니다. 준비 단계에서 에러가 발생한 경우, 빌드를 계속할지 여부를 묻는 창이 뜨게 됩니다.

예를 들어 사용자가 서브-레벨이 셋인 맵을 빌드하려 하는데, 다른 사용자가 그 서브-레벨 중 하나를 독점적으로 체크아웃한 상태입니다. 해당 파일을 체크아웃시킬 수 없다고 대화창이 경고하겠죠. 이 시점에서 사용자는 빌드를 계속할지, 취소할지를 선택할 수 있는 겁니다. 사용자가 계속하려는 경우, 빌드 과정에서는 레벨 전부가 고려되기야 하겠지만, 체크아웃할 수 없었던 레벨은 저장되거나 소스 콘트롤에 제출되지는 않을겁니다. 이런 식의 작업을 계속할 경우 염두에 둘 점은, 일부만 빌드된 맵이 소스 콘트롤에 제출될 수 있다는 점입니다.

빌드가 성공적으로 완료되고나면 대화창이 관련된 파일을 전부 저장하고, 가능한 한 모든 파일을 소스 콘트롤 디포에 제출합니다.

명령줄 실행하기


자동화 빌드는 에디터로의 명령줄 인수를 통해 시작시킬 수도 있습니다. 그리 하면 에디터를 실행한 다음, 지정된 맵을 빌드, 저장하고서, 소스 콘트롤에다 제출하고, 완료하고 나면 에디터를 빠져나옵니다. 명령줄 빌드는 디폴트 작동방식만 빼고는 에디터 대화창에서 시작하는 것과 비슷합니다. 에러가 나는 경우 대화창에서는 사용자에게 계속할지 말지를 물어오는 반면, 명령줄 빌드는 무시하라고 지정한 에러가 아닌 다음에야 빌드를 중단하고 끝내 버립니다. (참고: 옵션 명령줄 인수).

명령줄 용례

자동화 빌드를 지정하기 위해서 사용자는 보통의 에디터 명령줄 인수와 함께 맵 이름과 두 가지 특수 자동화 빌드 파라미터를 줘야 합니다:

  • -AutomatedMapBuild (자동화 맵 빌드)
    자동화 빌드가 요청된 에디터에 신호를 주기 위해 필요한 특수 파라미터입니다.

  • -CLDesc="Changelist Description Here!" (변목설명="변경목록 설명 칸입니다!")
    변경목록 설명 내에 공백을 넣으려면 문자열을 따옴표로 묶어야 함에 주의하십시오. 이 파라미터를 생략하면 빌드 준비 도중에 빌드가 바로 실패하게 됩니다.

예를 들어 DM-Deck 맵의 자동화 빌드를 지정하려는 경우, 명령줄 인수는 다음과 같아 보일 겁니다:
editor DM-Deck -AutomatedMapBuild CLDesc="Rebuilding DM-Deck"

옵션 명령줄 인수

명령줄 자동화 빌드의 작동방식은 부가 인수를 주어 설정할 수 있습니다:

  • IgnoreBuildErrors=TRUE/FALSE (빌드 에러 무시=참/거짓)
    • 설명: 맵 빌드 도중 맵체크 에러가 발생해도 제출할지/말지 여부입니다. 거짓으로 설정하면 맵체크 에러를 내는 맵이 있는 경우 아무것도 제출하지 않습니다.
    • 디폴트 작동방식: 무시. 디폴트로 빌드 에러는 무시되는데, 보통 제출을 못할 만큼 심각한 에러는 아니기 때문입니다.

  • IgnoreSCCErrors=TRUE/FALSE (SCC 에러 무시=참/거짓)
    • 설명: 맵 파일을 (다른 사람이 먼저 체크아웃했다든가 해서) 체크아웃시킬 수 없는 에러가 발생해도 제출할지/말지 여부입니다. 거짓으로 설정하면 어떤 이유로든 체크아웃 또는 쓸 수 없는 맵이 하나라도 있는 경우, 아무것도 제출하지 않습니다.
    • 디폴트 작동방식: 빌드 중단. 소스 콘트롤 에러가 나면 보통 부분 빌드로 이어지기에, 디폴트는 빌드 중단입니다.

  • IgnoreMapSaveErrors=TRUE/FALSE (맵 저장 에러 무시=참/거짓)
    • 설명: 맵 파일을 제대로 저장할 수 없는 경우 제출할지/말지 여부입니다. 거짓으로 설정하면 어떤 이유로 맵을 제대로 저장할 수 없는 경우, 아무것도 제출하지 않습니다.
    • 디폴트 작동방식: 빌드 중단. 세이브 에러는 보통 뭔가 잘못되고 있다는 소리니, 디폴트는 빌드 중단입니다.

  • AddFilesNotInDepot=TRUE/FALSE (디포에 없는 파일 추가=참/거짓)
    • 설명: 소스 콘트롤 디포에 이미 있지 않은 맵 파일을 자동화 빌드의 일부로 디포에 추가시킬지 여부입니다.
    • 디폴트 작동방식: 거짓. 디폴트로 디포에 없는 맵 파일은 자동화 빌드에 의해 디포에 추가되지 않습니다.