Shotgun 데스크톱

Shotgun 데스크톱

Shotgun 데스크톱 응용프로그램 내부에서 실행되는 엔진
최신 버전: v2.4.12(prod)
버전 번호의 경우 유의적 버전 표준을 따릅니다.
시스템 이름: tk-desktop

참고: 이 문서에서는 툴킷 구성에 대한 제어 권한이 있는 경우에만 사용할 수 있는 기능에 대해 설명합니다. 자세한 정보는 Shotgun 통합 사용자 안내서를 참조하십시오.

데스크톱 엔진은 Shotgun 데스크톱 응용프로그램 내부에서 실행되는 엔진입니다. UI 기능을 처리하고 툴킷 앱과 Shotgun 데스크톱 응용프로그램을 연결합니다.

개요 동영상

다음 동영상은 해당 기능에 대한 간략한 개요를 보여 줍니다.

설명서

tk-desktop 엔진은 툴킷 앱을 쉽게 실행할 수 있게 해 주는 응용프로그램입니다. 툴킷을 시작하고 툴킷용 프로젝트를 설정하고 프로젝트의 파이프라인에 액세스하는 작업을 쉽게 수행할 수 있도록 하는 시스템 트레이 기반 창입니다.

이미 첫 번째 프로젝트를 설정한 후 필요에 맞게 구성하려면 '다음 단계' 문서를 참조하십시오.

사이트 구성 및 프로젝트 구성

데스크톱 응용프로그램을 시작하면 사이트 구성을 위한 tk-desktop 엔진이 시작됩니다. 이 구성은 대개 자동으로 관리되지만 해당 동작을 비활성화하고 해당 환경을 제어할 수 있습니다.

툴킷의 기본 원칙 중 하나는 프로젝트가 서로 완전히 격리될 수 있다는 것입니다. 이는 일반적으로 한 프로젝트의 변경 사항이 다른 프로젝트(곧 전달 가능)에 악영향을 미치지 않도록 하기 위해 수행됩니다. 이 프로젝트 격리 기능을 제공하기 위해 데스크톱 엔진은 사용자가 특정 프로젝트에 대한 명령을 볼 때마다 해당 프로젝트의 초기화된 별도의 python 인터프리터에서 명령을 실행할 수 있도록 합니다.

프로젝트를 클릭하면 백그라운드에서 python 인터프리터가 시작됩니다. 프로젝트가 이 python 인터프리터를 사용하도록 구성되어 있으면 시작 시 해당 프로젝트의 tk-desktop을 초기화합니다. 해당 엔진 인스턴스는 실행할 수 있는 GUI 명령에 다시 연결합니다.

명령을 클릭하면 해당 백그라운드 python 프로세스가 명령을 실행합니다. 이렇게 하면 예를 들어 하나의 프로젝트에서 python 2.7을 테스트하는 동안 다른 프로젝트가 python 2.6을 실행할 수 있습니다.

커스텀 패널 등록

패널 기반 UI가 있는 툴킷 앱은 실행 시 데스크톱 내부의 탭에 자동으로 고정됩니다.

Shotgun 패널과 같은 패널 기반 앱이 있고 Shotgun 데스크톱에 탭으로 표시하려면 시작 시 실행되도록 구성하면 됩니다. 데스크톱이 사이트 컨텍스트 모드(모든 프로젝트 표시)에서 시작되면 자동 시작으로 등록된 모든 항목이 시작됩니다. 이러한 항목 중 하나가 패널이면 패널이 고정됩니다. 항목은 구성에서 정의된 순서대로 처리되며 탭 순서도 지정됩니다.

예를 들어 Shotgun 패널을 Shotgun 데스크톱의 탭으로 표시하려면 사이트 레벨 환경에 다음 구성을 추가합니다.

tk-desktop:
  apps:
    tk-multi-shotgunpanel:
      actions_hook: ...
      action_mappings: ...
      location: ...
  location: ...
  run_at_startup:
  - {app_instance: '', name: Apps}
  - {app_instance: tk-multi-shotgunpanel, name: ''}

Apps 항목은 탭 순서대로 기본 Apps 탭이 표시되는 위치를 제어합니다.

설치 및 업데이트

Shotgun Pipeline Toolkit에 이 엔진 추가

asset 환경의 XYZ 프로젝트에 이 엔진을 추가하려면 다음 명령을 실행합니다.

> tank Project XYZ install_engine asset tk-desktop

최신 버전으로 업데이트

프로젝트에 이 항목이 이미 설치되어 있는 경우 최신 버전을 얻으려면 update 명령을 실행할 수 있습니다. 특정 프로젝트와 함께 제공되는 tank 명령을 탐색하여 다음과 같이 실행할 수 있습니다.

> cd /my_tank_configs/project_xyz
> ./tank updates

또는 스튜디오 tank 명령을 실행하고 업데이트 확인을 실행할 프로젝트 이름을 지정할 수 있습니다.

> tank Project XYZ updates

협업 및 개선

Shotgun Pipeline Toolkit에 액세스할 수 있다면 모든 앱, 엔진 및 프레임워크가 저장 및 관리되는 Github에서 그 소스 코드에도 액세스할 수 있습니다. 이러한 항목을 자유롭게 개선하여 향후 독립적인 개발을 위한 기반으로 사용하고 변경 후 다시 풀 리퀘스트를 제출하거나, 아니면 그냥 조금만 손을 보고 어떻게 빌드되었는지, 툴킷이 어떻게 작동하는지 확인해 보십시오. https://github.com/shotgunsoftware/tk-desktop에서 이 코드 리포지토리에 액세스할 수 있습니다.

특별 요구 사항

  • 이 기능을 이용하려면 Shotgun Pipeline Toolkit Core API 버전 v0.18.143 이상이 필요합니다.

구성

아래는 사용되는 모든 구성 설정을 요약한 것입니다. 해당 설정은 이 앱 또는 엔진을 활성화하려는 환경 파일에서 정의해야 합니다.

software_entity_config_link

유형: str

기본값: https://support.shotgunsoftware.com/entries/95443887#Setting%20up%20Application%20Paths

설명: 사이트의 소프트웨어 엔티티를 구성하는 방법에 대해 자세히 설명하는 Shotgun 지원 문서에 대한 링크입니다.

run_at_startup

유형: list

기본값: [{u'app_instance': u'', u'name': u'Apps'}]

설명: 시작할 때 실행할 앱을 제어합니다. 이 설정은 하나의 목록이며 각 요소는 'app_instance'와 'name'이라는 두 개의 키가 포함된 사전입니다. 'app_instance' 값은 이 항목을 환경 구성 파일에 정의된 특정 앱 인스턴스에 연결합니다. 'name'은 데스크톱을 시작할 때 실행할 명령의 메뉴 이름입니다. 'name'이 ''이면 지정된 앱 인스턴스의 모든 명령이 시작됩니다. 앱 시작 관리자가 포함된 '앱(Apps)' 탭을 추가하려면 목록에 시작 명령 {app_instance: '', name: 'Apps'}를 추가합니다.

show_recents

유형: bool

기본값: True

설명: 최근에 클릭한 명령을 표시할지 여부를 제어합니다.

debug_logging

유형: bool

설명: 디버거 메시지를 로거로 내보낼지 여부를 제어합니다.

collapse_rules

유형: list

기본값: [{u'menu_label': u'None', u'match': u'Launch $app', u'button_label': u'$app'}]

설명: GUI에서 다중 명령을 단일 버튼으로 축소하는 방법을 정의하는 사전 목록입니다. 각 사전에는 match(등록된 명령의 표시 이름과 일치하는 문자열), button_label(결과 버튼의 텍스트 레이블), menu_label(버튼의 메뉴에 있는 항목의 텍스트 레이블) 키가 있어야 합니다. 엔진에 명령이 추가되면 표시 이름이 각 일치 항목과 차례로 비교됩니다. 일치 문자열에는 '$' 스타일 변수가 포함될 수 있습니다. 이 변수는 명령의 표시 이름에 있는 단어 하나와 일치합니다. '$' 변수는 button_label과 menu_label에서 사용할 수 있습니다. 예를 들어 'Launch $APP $VERSION'의 일치 항목은 'Launch'와 뒤에 오는 두 단어로 구성된 모든 표시 이름과 일치합니다. 표시 이름이 'Launch Maya 2014'이면 일치하고 '$APP' 값은 'Maya'이고 '$VERSION'의 값은 '2014'가 됩니다. menu_label이 특수 문자열 'None'이면 button_label 값에 따라 버튼 이름이 변환되지만 명령에 대한 메뉴 항목은 추가되지 않습니다. 이런 방식으로 여러 명령이 버튼으로 축소되면 첫 번째 명령만 등록됩니다. 표시 이름이 축소 규칙과 일치하지 않으면 메뉴가 없는 버튼으로 표시됩니다. 첫 번째 일치 규칙에 따라 버튼과 메뉴 레이블이 결정됩니다.

default_group

유형: str

기본값: Studio

설명: 그룹 설정의 값과 일치하지 않는 명령을 그룹으로 지정하는 기본 명령 이름을 제어합니다.

hook_launch_python

유형: hook

기본값: launch_python

설명: 이 후크는 특정 프로젝트에 대해 python 인터프리터를 시작합니다. 후크에 대한 첫 번째 인수는 'project_python'이며, 시작될 python 인터프리터의 경로입니다. 후크에 대한 다음 인수는 'pickle_data_path'입니다. 이 인수는 프로젝트의 tk-desktop 엔진을 초기화하고 데스크톱 GUI와 다시 연결하는 데 필요한 정보가 들어 있는 python pickle의 전체 경로입니다. 세 번째 인수는 유틸리티 python 모듈에 대한 경로입니다. 이 모듈은 새로운 인터프리터에 로드하여 엔진을 시작하는 데 사용해야 합니다.

sg_software_entity

유형: str

기본값: CustomNonProjectEntity23

설명: 기본 엔티티가 될 때까지 소프트웨어 엔티티로 지정된 Shotgun CustomNonProjectEntity입니다.

그룹

유형: list

설명: 어떤 명령을 어떤 그룹에 넣을지 정의하는 사전 목록입니다. 각 사전 항목에는 name(그룹 이름) 및 matches(그룹에 추가할 명령의 문자열 목록) 키가 있어야 합니다. 엔진에 명령이 추가되면 그룹 일치 목록의 각 일치 항목은 명령의 표시 이름과 일치하는 대/소문자를 구분하지 않는 glob 스타일로 처리됩니다. 일치하는 항목이 있으면 명령이 그룹에 추가됩니다. 예를 들어 'Maya'는 대/소문자와 상관없이 표시 이름에 'maya' 문자열을 포함하는 모든 명령과 일치합니다. 명령이 여러 그룹과 일치하는 경우 명령을 여러 그룹에 표시할 수 있습니다.

팔로우

0 댓글

댓글을 남기려면 로그인하세요.