Flow Production Tracking (이전 ShotGrid)란?
Flow Production Tracking (이전 ShotGrid)는 프로젝트 관리 도구로, 특히 영상 제작 과정에서 복잡한 작업들을 관리하기위해 사용됩니다.
간단한 역사
디즈니사에서는 처음 3D 영화를 제작할 때 엑셀로 프로젝트를 관리했습니다. 그러나 프로젝트 규모가 커지면서 전용 도구의 필요성을 느꼈고, 이에 따라 전용 프로젝트 매니지먼트 툴인 Shotgun Software가 개발되었습니다. 이후, 이 도구는 디즈니를 떠나 독립적으로 운영되었으며, 후에 오토데스크사에 인수되었습니다. 2021년에는 ShotGrid라는 이름으로 운용되었으나, 최근에는 “Flow Production Tracking (FPTR)”로 변경되었습니다.
용어 정리
- 샷 (Shot): 카메라가 1회 녹화한 분량 (녹화 시작부터 종료까지).
- 시퀀스 (Sequence): 같은 주제를 가진 샷들의 집합.
- 영화 (Film): 여러 시퀀스들의 모음.
FPTR의 기능
- 일정 관리(Scheduling):
- 프로젝트의 전체 일정을 관리하고, 각 샷의 마감일을 설정
- 작업 할당(Task Assignment):
- 팀원들에게 구체적인 작업을 할당하고, 작업 진행 상황을 추적
- 버전 관리(Version Control):
- 각 태스크의 다양한 버전을 관리하고, 변경 사항을 기록
- 검토 및 피드백(Review and Feedback):
- 태스크/샷에 대한 리뷰를 받고, 피드백을 기록하여 수정 작업에 반영
- 통합(Integration):
python-api
를 통해 FPTR와 사용자의 도구를 쉽게 통합할 수 있습니다.- 예시: 자동화 프로세스 구축, 타사 소프트웨어 패키지 통합, 스튜디오 내 기존 도구와 통신
FPTR 구성
FPTR의 각 구성요소들은 개별적인 엔티티로 이해하면 됩니다.
1. 프로젝트(Project):
- 최상위 레벨; 모든 작업과 데이터는 특정 프로젝트 내에서 이루어집니다.
2. 시퀀스(Sequence)와 에셋 타입(Asset Type):
- 프로젝트안에는 시퀀스와 에셋 타입 두가지 주요 카테고리를 가지고 있습니다.
- 시퀀스: 영상 제작의 특정 부분을 의미, 동일한 주제를 가진 여러 샷으로 구성
- 에셋 타입: 제작에 필요한 다양한 리소스 유형들
3. 샷(Shots)과 에셋(Assets):
- 샷: 시퀀스 내의 각각의 장면이나 컷
- 에셋: 에셋 타입 내의 각각의 개별 리소스
4. 태스크(Tasks):
- 샷과 에셋 각각에 연결된 구체적인 작업들을 나타냅니다.
- 특정 샷에 대한 작업: 원화, 애니메이션, FX, 조명
- 특정 어셋에 대한 작업: 원화, 모델링, 리깅, 텍스처
5. 노트(Notes):
- 작업 진행 상황이나 피드백 등을 기록하는데 사용되며, 각 샷이나 에셋, 또는 그에 관련된 태스크에 대한 노트를 남길 수 있습니다.
6. 버전(Version):
- 샷이나 에셋의 각 작업물의 버전 관리를 위한 요소입니다. 작업물이 업데이트되거나 수정될때마다 새로운 버전이 생성됩니다.
7. 플레이리스트(Playlist):
- 여러 버전을 모아놓은 리스트입니다. 특정 작업의 여러 버전을 한눈에 보고 비교하거나 리뷰할 수 있습니다.
Flow Production Tracking Python API library(공식 문서 바로가기)
FPTR python-api
에서는 필드를 조회할 때 Field Code를 사용하며, 필드 이름으로 조회합니다.
python-api 설치 및 환경 설정
python-api
를 설치하기 위해 다음 단계를 따릅니다(Windows 기준):
- Python 3.10 설치
- Python을 환경 변수에 추가
- 경로를
C:\python310
으로 지정
API로그인 스크립트 계정
API를 사용하여 스크립트 계정으로 로그인할 때는 사용자가 ID, 비밀번호를 설정하고 개인 엑세스 토큰을 생성해야 합니다.
사용 예제
- 클래스를 임포트하고 인스턴스를 생성합니다.
- 이후 CRUD 작업을 수행합니다.
- FPTR에서의 ‘Read’는
find
함수를 사용합니다.
sg.find("Shot", [["code", "is", "010"]], ["code"])
팁: pprint()
함수를 사용하면 자동 포매팅이 되어 결과를 보기 쉽게 할 수 있습니다.
FPTR로 개발 할수 있는것은?
스탠드 얼론 프로그램:
- FPTR과 상호작용할 수 있는 독립적인 프로그램을 개발할 수 있습니다.
- 예시:
PySide
를 사용하여 GUI를 구현하고, FPTR API3를 통해 데이터를 가져와서 보여줄 수 있음
AMI(액션 메뉴 아이템):
- 메뉴 항목을 추가하여 사용자가 원하는 작업을 수행할 수 있도록 할 수 있습니다.
- 예시: 샷이나 태스크를 선택한 후에 메뉴에서 “다운로드”를 선택하면 해당 데이터의 파일들을 일괄로 다운로드 가능
이벤트 데몬:
- FPTR에서 발생하는 모든 이벤트를 감지하고 자동으로 특정 작업을 수행하는 데몬을 개발할 수 있습니다.
- 예시: 새로운 샷이 생성되거나 태스크가 완료될 때마다 이벤트를 감지하고 특정 알림을 보내는 등의 작업을 수행
요구사항에 따라 아래와 같이 구현할 수 있습니다:
- 웹 구현: 사용자 인터페이스나 서비스를 웹 애플리케이션으로 구현할 수 있습니다.
- 커스텀 프로토콜: 사용자가 직접 정의한 프로토콜을 사용하여 특정한 애플리케이션을 실행하거나 상호작용할 수 있습니다.
Leave a comment