포트나이트 언리얼 에디터(Unreal Editor for Fortnite, UEFN)에서는 프로젝트 관리, 팀 프로세스 및 퀄리티 관리를 수행하는 중요한 부분으로 리비전 컨트롤을 통합했습니다. 이는 프로젝트 및 개발자에게 단일 소스를 유지해 줍니다.
팀 프로젝트에 리비전 컨트롤을 활성화할 경우 팀 멤버 간의 협업이 원활해지고, 작업물이 손실되는 것을 방지해 주며, 제작 시간이 단축되므로 섬의 출시를 앞당길 수 있습니다. 일상적인 반복작업 작업에 프로젝트 동기화를 통합하는 데는 약간의 수고가 들 수 있지만 결과적으로는 그만한 가치가 있습니다.
언리얼 리비전 컨트롤의 작동 원리
언리얼 리비전 컨트롤은 UEFN에서 새로 제작하는 모든 섬에 곧바로 사용할 수 있습니다. 그 원리는 섬과 해당 에셋의 '스냅샷'을 찍는 방식으로 작동합니다. 이 스냅샷은 섬 파일과 에셋을 제출한 후의 현재 상태를 보여줍니다.
이미지를 클릭하면 확대됩니다.
새 프로젝트의 프로젝트 디폴트(Project Defaults) 패널에서 언리얼 리비전 컨트롤(Unreal Revision Control)을 선택합니다.
팀 선택(Team Selection) 드롭다운 메뉴에서는 단독으로 프로젝트 작업을 할 경우 팀 없음(사용자만)(No Team (Just You))을 선택하고, 팀 프로젝트 작업을 할 경우 팀 이름을 선택합니다. 개인 프로젝트에서는 언리얼 리비전 컨트롤을 비활성화할 수 있습니다.
언리얼 리비전 컨트롤을 사용하는 프로젝트는 서버에서 호스팅됩니다.
최신 동기화는 다운로드 아이콘으로 표시됩니다.
또한 아웃라이너 패널에서도 언리얼 리비전 컨트롤을 사용할 수 있습니다. 에셋의 리비전 컨트롤 상태는 아웃라이너에서 에셋 행의 오른쪽에 참고용으로 표시됩니다. 추가적으로 아웃라이너 패널에서 에셋을 우클릭하고 드롭다운 메뉴에서 리비전 컨트롤(Revision Control) > 체크아웃(Check out)을 선택할 수도 있습니다.
프로젝트에서 언리얼 리비전 컨트롤 사용
새 프로젝트를 생성할 때 소스 컨트롤을 활성화하면 다음 기능이 하단 툴바에 추가됩니다.
리비전 컨트롤
변경사항 동기화(Sync Changes)/가장 최신(At Latest)
변경사항 체크인(Check-in Changes)/변경사항 없음(No Changes)
모든 언리얼 리비전 컨트롤 기능은 프로젝트의 디테일 패널에 표시됩니다.
Revision Control
리비전 관리 표시기입니다. 초록색 체크 표시는 이 프로젝트에서 리비전 관리가 사용되고 있다는 것을 의미합니다. 화살표를 클릭하면 수정된 파일 및 에셋을 체크아웃하고 리비전 컨트롤 세팅을 변경할 수 있는 관리 메뉴가 열립니다.
드롭다운 메뉴에서 리비전 컨트롤 세팅 변경...(Change Revision Control Settings…)을 클릭하고 리비전 컨트롤 로그인(Revision Control Login) 창을 열어 컨트롤 세팅을 변경할 수 있습니다. 여기에서 각종 자동 세팅을 활성화/비활성화하고 리비전 컨트롤 로그(Revision Control Log)를 검토할 수 있습니다.
이미지를 클릭하면 확대됩니다.
자동 체크아웃
자동 체크아웃(Auto Checkout)은 신규 프로젝트를 생성할 때 자동으로 활성화됩니다. 이 기능은 뷰포트에서 에셋을 변경하거나 이동할 때 에셋을 자동 체크아웃하는 방식으로 작동합니다.
이 기능은 체크아웃하고 있는 동안 변경한 오브젝트를 잠금 처리하여 다른 팀 멤버가 동일한 오브젝트를 변경하지 못하도록 방지합니다. 아웃라이너에 나열된 에셋을 살펴보면 동료가 어떤 에셋을 체크아웃했는지 확인할 수 있습니다.
자동 체크아웃을 사용하면 프로젝트 협업을 진행하면서 상충을 방지하고 팀 멤버 간의 마찰을 최소한으로 줄일 수 있습니다.
자동 체크아웃이 꺼져 있다면, 언리얼 리비전 컨트롤에서 인터넷에 다시 연결하거나 로컬로 저장하라는 알림을 표시할 것입니다.
자동 되돌리기
자동 되돌리기(Auto Revert)는 자신이 변경한 에셋이 이미 다른 작업자에 의해 체크아웃되었을 경우, 에셋에 대한 변경사항을 실행 취소하여 팀 멤버와의 상충이 발생하지 않도록 방지합니다. 상충 및 변경사항의 되돌리기 경고 메시지가 표시됩니다.
이 기능을 사용하면 에셋에 몇 시간 동안 작업한 내용을 전부 되돌려야 하는 상황에 처하지 않습니다. 아웃라이너에서의 빠른 확인을 통해 현재 팀 멤버들이 어떤 에셋을 작업 중인지 알 수 있습니다.
변경사항 동기화
이 기능은 프로젝트의 최신 리비전 컨트롤 스냅샷을 풀링하여 디스크에 동기화합니다. 최신 동기화(Sync Latest)가 표시되면 최신 프로젝트 버전으로 동기화해야 합니다. 동기화할 변경사항이 없다면 이 버튼에 가장 최신이 표시됩니다.
최신 동기화를 클릭하면 최신 프로젝트 스냅샷을 로컬 환경으로 풀링하여 프로젝트에서 계속 작업할 수 있습니다.
자신의 변경사항이 최신 스냅샷의 변경사항과 상충하지 않으며 다른 사용자가 현재 체크아웃한 에셋에 대한 변경사항이 아닐 경우, 최신 스냅샷과 동기화하지 않고도 에셋을 변경하고 저장할 수 있습니다.
발생할 수 있는 상충에 대한 자세한 내용은 언리얼 리비전 컨트롤에서의 상충을 참고하세요.
변경사항 체크인
모든 변경사항을 체크인하고 체크인된 변경사항이 전부 적용된 새로운 프로젝트 스냅샷을 생성합니다. 프로젝트에 체크인이 필요한 변경사항을 적용하는 경우, 이 버튼은 변경사항 없음에서 변경사항 체크인으로 바뀝니다.
언리얼 리비전 컨트롤은 UE 에코시스템의 네이티브 포맷 소스 파일의 리비전 히스토리를 트래킹하지만, 다른 소프트웨어(Blender, Photoshop 등)의 네이티브 포맷 소스 파일은 트래킹하지 않습니다.
변경사항 체크인을 클릭하면 변경사항 체크인 창이 열립니다. 그러면 섬의 새 스냅샷이 생성되며 스냅샷 창이 열립니다. 에셋에 적용된 변경사항을 체인지리스트 설명(Changelist Description)에 나열하고 제출(Submit)을 클릭하여 섬의 새 스냅샷을 생성합니다.
체인지리스트 설명: 체크아웃한 에셋에 적용된 변경사항에 대한 설명을 추가합니다. 에셋의 스냅샷을 캡처합니다.
더하기 기호: 언리얼 리비전 컨트롤에 추가된 새 에셋입니다.
체크 표시: 체크아웃된 에셋입니다.
파일 체크아웃 유지(Keep Files Checked Out): 파일의 체크아웃 상태를 유지하도록 선택하면 변경사항을 제출한 후에도 파일의 체크아웃이 유지됩니다.
제출: 변경사항을 언리얼 리비전 컨트롤에 제출합니다.
취소(Cancel): 스냅샷을 취소하고 프로젝트로 돌아갑니다.
변경사항이 저장된 다음 성공적으로 제출되고 나면 팀 멤버들은 새 프로젝트 버전을 동기화할 수 있게 됩니다. 프로젝트 섬네일은 프로젝트 섬네일에 다운로드 아이콘이 표시된 버전으로 모든 팀 멤버에게 업데이트되어 프로젝트의 동기화가 필요하다는 사실을 알립니다.
프로젝트 에셋 체크아웃
에셋을 체크아웃하면 해당 에셋은 다른 팀 멤버에 의해 편집되지 않도록 잠깁니다. 누구든 제일 먼저 해당 오브젝트를 체크아웃한 사용자는 체크아웃된 동안 제어 권한을 갖습니다.
개별 에셋 체크아웃:
에셋 섬네일을 우클릭하여 에셋 메뉴를 실행합니다.
리비전 컨트롤 > 체크아웃을 선택합니다.
이제 이 에셋은 체크아웃되었으며 에셋 섬네일도 빨간색 체크가 표시된 버전으로 업데이트됩니다. 팀 멤버들의 섬네일에는 다른 아이콘이 표시되어 에셋이 체크아웃되었다는 것을 알 수 있습니다.
오브젝트가 체크인된 후, 프로젝트에 액세스 가능한 모든 사용자는 최신 프로젝트 버전으로 동기화해야 에셋을 편집할 수 있습니다.
우클릭 메뉴에서 다음과 같은 기능도 수행할 수 있습니다:
| 기능 | 설명 |
|---|---|
동기화 및 체크아웃(Sync And Check Out) | 프로젝트를 동기화하고 에셋을 체크아웃합니다. |
추가 예약(Mark For Add) | 프로젝트에 추가할 에셋을 표시합니다. |
히스토리(History) | 선택한 에셋 또는 프로젝트의 편집 히스토리를 표시하는 창을 엽니다. 이미지를 클릭하면 확대됩니다. |
되돌리기(Revert) | 선택된 파일을 이전 상태로 되돌립니다. |
병합(Merge) | 선택된 두 에셋 파일을 하나로 병합합니다. |
새로고침(Refresh) | 선택된 에셋의 상태를 새로 고칩니다. |
씬 그래프의 엔티티당 한 개의 파일
씬 그래프 프로젝트를 위한 엔티티당 한 개의 파일(One File Per Entity, OFPE) 기능이 베타로 출시됩니다. 지금까지는 언리얼 리비전 컨트롤(Unreal Revision Control, URC)을 사용할 때 씬 그래프 엔티티를 편집하면 전체 프로젝트 파일이 잠겨 협업이 매우 어려웠습니다. OFPE는 각 엔티티를 자체 에셋 파일에 저장함으로써 여러 협업자가 씬 그래프를 사용하는 프로젝트에서 거의 충돌하는 일 없이 동시에 작업할 수 있도록 해 줍니다.
프로젝트 내 OFPE 활성화
씬 그래프 프로젝트에서 OFPE를 활성화하려면 다음 단계를 따릅니다.
툴바에서 프로젝트(Project)를 클릭하고 프로젝트 세팅(Project Settings)을 선택합니다.
프로젝트 세팅에서 베타 액세스 섹션을 클릭하여 펼칩니다. 엔티티당 한 개의 파일(One File Per Entity) 체크 박스를 선택합니다.
아웃라이너(Outliner)에서 프로젝트의 최상위 레벨을 우클릭하여 컨텍스트 메뉴를 엽니다. 레벨 엔티티에서 소유한 엔티티를 외부 파일로 저장(Save Owned Entities as External Files)을 선택합니다.