ShotGrid Toolkit 앱이란?

td.junopark·2024년 7월 3일

ShotGrid Toolkit

목록 보기
2/5
post-thumbnail

ShotGrid Toolkit에서는 ShotGridDCC를 연동하여 특정 작업을 수행하거나,
다양한 자동화 작업 등을 위해 오픈소스 형태로 다양한 앱을 지원하며, 개발자가 자체적으로 앱을 개발하는 것 또한 지원한다.

이번 포스트에서는 ShotGrid Toolkit 앱이 무엇인지, 왜 사용하는지에 대해 알아보자.

목차

ShotGrid Toolkit 앱이란?

ShotGrid Toolkit 앱ShotGrid Toolkit 엔진에 의해 실행되는 도구이다.

앱은 구성에 따라 다양한 인터페이스 혹은 기능을 가질 수 있으며, 사용자로 하여금 ShotGrid Tollkit 내에서 다양한 작업을 할 수 있게 한다.

일반적으로 GUI를 갖추고 있으며, 단순히 특정 명령을 일컫는 말이기도 하다.

주요 기능 및 역할

  • 작업 관리: 작업생성, 할당, 추적관리를 쉽게 할 수 있도록 한다.
  • 파일 관리: 파일의 버전 관리, 승인 절차, 파일 경로 설정 등을 지원하여 작업 파일을 체계적으로 관리할 수 있다.
  • 출판 및 검토: 작업 결과물을 ShotGrid에 출판하고, 팀원들 간의 검토와 피드백 과정을 간편하게 진행할 수 있다.
  • 데이터 시각화: 프로젝트의 진행 상황, 작업 현황 등을 시각적으로 표현하여 전체 프로젝트의 상태를 한눈에 파악할 수 있게 한다.
  • 자동화: 반복적인 작업을 자동화하여 작업 효율성을 높이고, 오류를 줄일 수 있다.

이외에도 사용자가 어떻게 앱을 제작하느냐에 따라 무궁무진한 기능 및 역할을 할 수 있는 것이 앱의 특징이다.

주요 앱 예시

  • tk-multi-workfiles2: 작업 파일을 관리하는 앱으로, 파일의 저장, 열기, 버전 관리 등을 지원한다.

  • tk-multi-loader2: ShotGrid에서 파일을 검색하고 로드할 수 있는 앱으로, 필요한 파일을 쉽게 찾아서 애플리케이션에 불러올 수 있다.

  • tk-multi-publish2: 작업 결과물을 ShotGrid에 출판하는 앱으로, 출판 프로세스를 관리하고 파일을 ShotGrid에 업로드한다.

설정 및 커스터마이징

ShotGrid Toolkit 앱은 구성 파일(settings/<app_name>.yml)을 통해 설정할 수 있으며, 필요에 따라 커스터마이징이 가능하다.

이러한 설정 파일을 통해 각 앱의 동작 방식을 조정하고, 특정 프로젝트나 스튜디오의 요구에 맞게 최적화할 수 있다.

앱 설정 에 대한 자세한 내용은 ShotGrid Toolkit에 엔진, 앱 등록하기를 참고

앱 개발 및 확장

ShotGrid Toolkit은 오픈소스이기 때문에, 사용자나 개발자가 필요에 따라 새로운 앱을 개발하거나 기존 앱을 확장할 수 있다.
이를 통해 다양한 애플리케이션과의 통합을 더욱 유연하게 관리할 수 있다.

ShotGrid Toolkit 앱은 ShotGrid에서의 작업을 효율적으로 관리하기 위해 필수적이며, 이를 통해 사용자들은 더 나은 작업 흐름과 생산성을 경험할 수 있다.

앱의 구성요소

ShotGrid Toolkit 앱은 여러 파일과 스크립트로 구성되어 있으며, 이들은 각각 앱의 동작과 기능을 구성한다.
ShotGrid Toolkit 앱의 기본적인 스크립트 구성에 대해 알아보자.

파일 구성

  • app.py

    앱의 핵심 로직을 포함하는 파일로, 애플리케이션과의 통신을 관리한다.

    주요 클래스 및 메서드:

    • App: 앱의 주된 기능을 구현하는 클래스
    • init_app(): 앱 초기화를 수행하는 메서드
    • destroy_app(): 앱 종료 및 리소스 정리를 담당하는 메서드
  • info.yml

    앱의 메타데이터와 설정 정보를 포함하는 파일이다.

    주요 항목:

    • configuration: 앱에 대한 다양한 설정
    • display_name: 앱의 이름
    • description: 앱의 설명
    • requires_shotgun_version: 앱이 요구하는 ShotGun의 최소 버전
    • requires_core_version: 앱이 요구하는 Core의 최소 버전
    • requires_engine_version: 앱이 요구하는 Engine의 최소 버전

    예시:

configuration:

  automatic_context_switch:
    type: bool
    description: "Controls whether toolkit should attempt to automatically adjust its
                 context every time the currently loaded file changes. Defaults to True."
    default_value: True

display_name: "Workfiles2 App for Maya"
description: "Workfiles2 App Integration in Maya"

requires_shotgun_version: "1.5.4"
requires_core_version: "v0.20.5"
requires_engine_version: 
  • 기타 앱에 대한 파일 (아이콘, 라이센스 파일 등)

폴더 구성

  • hooks 폴더

    앱의 다양한 이벤트에 대한 훅(hook) 스크립트를 포함하는 폴더이다.
    사용자가 특정 이벤트에 대해 커스터마이징된 동작을 정의할 수 있다.

  • python 폴더

    앱의 주요 파이썬 코드 파일을 포함하는 폴더, 다양한 기능이 모듈화되어 개별 스크립트로 작성되어 있는 경우가 많다.

  • 전체적인 폴더 구조 예시

tk-multi-workfiles2/
│
├── hooks/
│   ├── copy_file.py
│   ├── create_new_task.py
│   └── ...
│
├── python/
│   └── tk-multi-workfiles2/
│       ├── ui/
│       ├── file_list/
│       ├── browser_form.py
│       └── ...
│
├── app.py
├── info.yml
└── etc.
profile
공부 중🙄

0개의 댓글