응용프로그램 시작 관리자

응용프로그램 시작

응용프로그램을 시작하고 Shotgun Pipeline Toolkit을 초기화합니다.
최신 버전: v0.10.1(prod)
버전 번호의 경우 유의적 버전 표준을 따릅니다.
시스템 이름: tk-multi-launchapp

참고: 이 문서에서는 툴킷 구성에 대한 제어 권한이 있는 경우에만 사용할 수 있는 기능에 대해 설명합니다. 자세한 정보는 Shotgun 통합 사용자 안내서를 참조하십시오.
개요 요약
설명서
      작동 방식
            시작 시 명령줄 인수 사용
            시작 시 환경 변수 설정 및 동작 자동화
            아직 엔진이 없는 응용프로그램 시작
      기술적 상세 정보
            3DSMax
                  추가 구성
            Hiero
            Maya
                  추가 구성
            MotionBuilder
                  추가 구성
            Nuke
                  추가 구성
            Photoshop
                  추가 구성
설치, 업데이트 및 개발
구성 옵션

Launch 앱을 사용하면 Shotgun이나 다른 환경에서 응용프로그램으로 쉽게 바로 이동할 수 있습니다. 이 앱은 Maya, Nuke, Photoshop 등 다양한 일반 응용프로그램을 지원합니다. - 전체 목록은 해당 설명서를 참조하십시오. 응용프로그램 엔진을 빌드할 때 새 응용프로그램에 대한 지원을 정기적으로 추가할 예정입니다. 응용프로그램이 시작되면 Shotgun 컨텍스트(현재 작업 영역)가 설정되고 Shotgun Pipeline Toolkit이 초기화되고 시작됩니다. 또한 사용자 작업 샌드박스를 사용 중인 경우 디스크에서 폴더 생성도 처리합니다. 앱이 시작되면 Shotgun에서 선택한 컨텍스트에 초점이 맞춰진 상태로 Shotgun 메뉴가 표시되는데, 파일 시스템의 적절한 부분에서 바로 작업을 시작할 수 있습니다.

설명서

이 앱은 Shotgun에서 지원되는 응용프로그램으로 쉽게 이동할 수 있는 단축키를 제공합니다. 구성 선택 사항에 따라 Shotgun의 다양한 엔티티에 대해 호출되는 Shotgun 액션 항목을 등록합니다.

작동 방식

구성 옵션에 따라 엔티티를 마우스 오른쪽 버튼으로 클릭하거나 Shotgun Actions 메뉴 또는 톱니바퀴 메뉴를 사용하여 메뉴 항목이 Shotgun에 표시됩니다.

예를 들어 이 스크린샷은 Maya, Nuke 및 Photoshop용 메뉴를 구현하기 위해 이 앱을 세 번 사용하는 구성 사이트에서 가져온 것입니다.

탱크 액션 메뉴

현재 지원되는 응용프로그램 및 엔진은 다음과 같습니다.

  • 3DSMax
  • Hiero
  • Maya
  • MotionBuilder
  • Nuke
  • Photoshop
  • Mari
  • Houdini
  • Softimage
  • Flame

시작 시 명령줄 인수 사용

많은 응용프로그램에는 응용프로그램의 다른 버전(예: Nuke와 NukeX)을 선택하거나 기타 다양한 사용 측면을 지정하기 위해 호출할 수 있는 명령줄 옵션이 있습니다. 시작 관리자 앱에는 이 목적으로 구성할 수 있는 각 OS에 대한 'args' 설정이 있습니다. 예를 들어 여기에 '--nukex'를 넣으면 명령줄 실행에 추가되어 일반 Nuke 대신 NukeX가 실행됩니다.

NukeX 시작 예

launch_nuke:
  engine: tk-nuke
  extra: {}
  hook_app_launch: default
  hook_before_app_launch: default
  linux_args: '--nukex'
  linux_path: '@nuke_linux'
  location: {name: tk-multi-launchapp, type: app_store, version: v0.2.15}
  mac_args: '--nukex'
  mac_path: '@nuke_mac'
  menu_name: Launch Nuke
  windows_args: '--nukex'
  windows_path: '@nuke_windows'

시작 시 환경 변수 설정 및 동작 자동화

응용프로그램이 스튜디오 파이프라인에서 제대로 작동하기 위해서는 특정 환경 변수, 플러그인 경로 등을 설정해야 하는 경우가 있습니다. 시작 앱은 'before_app_launch' 후크를 통해 이 경우를 해결할 수 있습니다. 이 후크를 사용하면 응용프로그램을 시작할 때마다 실행할 코드 조각을 정의할 수 있습니다. 기본적으로 'before_app_launch' 후크는 아무런 동작도 수행하지 않는 단순한 통과 후크지만 이 문서의 지침에 따라 재지정될 수 있습니다.

예를 들어 Zync 렌더를 사용하는 경우 Zync Maya 플러그인 디렉토리는 $PYTHONPATH 및 $XBMLANGPATH의 일부여야 합니다. 시작 앱이 이러한 환경 변수를 설정하게 하려면 'before_app_launch' 후크를 다음과 같이 몇 줄의 코드로 업데이트합니다.

환경 변수 설정 예

def execute(self, **kwargs):
    """
    The execute functon of the hook will be called to start the required application        
    """

    # Example to show how to set env vars on Maya launch

    # Append the desired path to the existing $PYTHONPATH to ensure
    # everything upstream still works
    os.environ["PYTHONPATH"] = os.environ["PYTHONPATH"] + os.pathsep + "~/Library/zync/zync-maya"

    # Set $XBMLANGPATH to the desired path, may need to append it as
    # with $PYTHONPATH if already defined in your pipeline
    os.environ["XBMLANGPATH"] = "~/Library/zync/zync-maya"

'before_app_launch'를 사용하여 Shotgun 업데이트를 비롯한 다른 동작을 자동화할 수도 있습니다. 예를 들어 다음과 같이 시작 앱이 실행될 때마다 태스크 상태를 업데이트하도록(이 경우 "진행 중"으로) 구성할 수 있습니다(태스크에서 시작하는 경우).

태스크 상태 업데이트 자동화 예

def execute(self, **kwargs):
    """
    The execute functon of the hook will be called to start the required application        
    """

    # If there is a Task in the context, set its status to 'ip'

    if self.parent.context.task:
        task_id = self.parent.context.task['id']
        data = {
            'sg_status_list':'ip'
        }
        self.parent.shotgun.update("Task", task_id, data)

상상할 수 있듯이 여기에는 많은 가능성이 있으며, 시작 앱은 파이프라인에 필요한 유연성을 제공하는 것을 목표로 합니다.

아직 엔진이 없는 응용프로그램 시작

또한 시작 앱을 사용하여 아직 툴킷 엔진이 없는 응용프로그램을 시작할 수 있습니다. 이 경우 시작 중인 샷, 태스크 또는 에셋에 대한 폴더가 디스크에 만들어지고 응용프로그램이 시작되지만 응용프로그램 시작 후 코드가 실행되지 않으며 응용프로그램 내에 Shotgun 메뉴가 나타나지 않습니다. 즉, 아직 툴킷에서 지원하지 않는 응용프로그램을 Shotgun 내에서 시작할 수 있습니다.

이렇게 하려면 시작할 응용프로그램에 대한 경로를 사용하여 앱을 구성하고 엔진 옵션은 빈 문자열로 남겨 둡니다.

기술적 상세 정보

3DSMax

이 앱은 3DSMax가 부트 프로세스의 일부로 실행될 3DSMax 명령줄에 자동으로 MaxScript, init_tank.ms를 추가합니다.

3DSMax 부팅 과정은 다음과 같습니다.

  1. 3DSMax 시작 시 init_tank.ms를 실행합니다.
  2. init_tank.ms는 Python 인터프리터를 사용하고 tank_startup.py를 실행할 수 있도록 합니다.
  3. Shotgun 툴킷 컨텍스트 API를 사용하면 Shotgun에서 전달된 엔티티 ID가 툴킷 컨텍스트로 변환됩니다.
  4. tank.system.start_engine()을 통해 적절한 엔진을 시작하고 컨텍스트에 전달합니다. 엔진이 나머지 부분을 처리합니다.

추가 구성

3DSMax 엔진에는 추가 구성이 필요하지 않습니다.

Hiero

Maya

이 앱은 Maya가 부트 프로세스의 일부로 호출할 userSetup.py 자동 시작 스크립트를 Maya에 등록합니다.

Maya 부팅 과정은 다음과 같습니다.

  1. Maya가 userSetup.py 시작 스크립트를 실행합니다.
  2. Shotgun 툴킷 컨텍스트 API를 사용하면 Shotgun에서 전달된 엔티티 ID가 툴킷 컨텍스트로 변환됩니다.
  3. tank.system.start_engine()을 통해 적절한 엔진을 시작하고 컨텍스트에 전달합니다. 엔진이 나머지 부분을 처리합니다.

추가 구성

Maya 엔진에는 추가 구성이 필요하지 않습니다.

MotionBuilder

이 앱은 MotionBuilder가 부트 프로세스의 일부로 호출할 init_tank.py 자동 시작 스크립트를 MotionBuilder에 등록합니다.

MotionBuilder 부팅 과정은 다음과 같습니다.

  1. MotionBuilder가 init_tank.py 시작 스크립트를 실행합니다.
  2. Shotgun 툴킷 컨텍스트 API를 사용하면 Shotgun에서 전달된 엔티티 ID가 툴킷 컨텍스트로 변환됩니다.
  3. tank.system.start_engine()을 통해 적절한 엔진을 시작하고 컨텍스트에 전달합니다. 엔진이 나머지 부분을 처리합니다.

추가 구성

MotionBuilder 엔진에는 추가 구성이 필요하지 않습니다.

Nuke

이 앱은 Nuke가 부트 프로세스의 일부로 호출할 menu.py 자동 시작 스크립트를 Nuke에 등록합니다.

Nuke 부팅 과정은 다음과 같습니다.

  1. Nuke가 menu.py 시작 스크립트를 실행합니다.
  2. Shotgun 툴킷 컨텍스트 API를 사용하면 Shotgun에서 전달된 엔티티 ID가 툴킷 컨텍스트로 변환됩니다.
  3. tank.system.start_engine()을 통해 적절한 엔진을 시작하고 컨텍스트에 전달합니다. 엔진이 나머지 부분을 처리합니다.

추가 구성

Nuke 엔진에는 추가 구성이 필요하지 않습니다.

Photoshop

이 앱은 Adobe 익스텐션 관리자를 사용하여 탱크 플러그인을 설치하거나 설치되었는지 확인합니다.

Photoshop 부팅 과정은 다음과 같습니다.

  1. Photoshop이 탱크 플러그인을 실행합니다.
  2. Shotgun 툴킷 컨텍스트 API를 사용하면 Shotgun에서 전달된 엔티티 ID가 툴킷 컨텍스트로 변환됩니다.
  3. tank.system.start_engine()을 통해 적절한 엔진을 시작하고 컨텍스트에 전달합니다. 엔진이 나머지 부분을 처리합니다.

추가 구성

이 앱을 사용하여 Photoshop을 시작하려면 추가 섹션에 4개의 구성 값을 제공해야 합니다. 다음은 조정해야 하는 시스템 및 설치 위치에 대한 구성 및 올바른 기본값입니다.

mac_python_path: "/usr/bin/python"
windows_python_path: "C:\\Python27\\python.exe"
mac_extension_manager_path: "/Applications/Adobe Extension Manager CS6/Adobe Extension Manager CS6.app"
windows_extension_manager_path: "C:\\Program Files (x86)\\Adobe\\Adobe Extension Manager CS6\\XManCommand.exe"

관련 앱 및 문서

게시된 파일 시작

이 앱은 시작 관리자 앱과 함께 작동하며 게시된 파일을 마우스 오른쪽 버튼으로 클릭하면 해당 호스트 응용프로그램에서 시작할 수 있습니다. Shotgun은 관련 응용프로그램을 시작하고 시작 관리자 앱을 통해 Shotgun Pipeline Toolkit을 초기화한 다음 마지막으로 파일을 로드합니다.

관리자 안내서

Shotgun 통합에 대한 관리자 안내서입니다.

사용자 안내서

Shotgun 통합에 대한 사용자 안내서입니다.

설치 및 업데이트

Shotgun Pipeline Toolkit에 이 앱 추가

이 앱을 이름이 asset인 환경에 있는 프로젝트 XYZ에 추가하고 싶다면 다음 명령을 실행합니다.

> tank Project XYZ install_app asset tk-maya tk-multi-launchapp

최신 버전으로 업데이트

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

> cd /my_tank_configs/project_xyz
> ./tank updates

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

> tank Project XYZ updates

협업 및 개선

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

특별 요구 사항

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

구성

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

linux_args

유형: str

설명: Linux에서 응용프로그램에 문자열로 전달할 인수입니다.

engine

유형: str

설명: 시작할 Shotgun 엔진의 이름입니다. 이 설정은 일반적으로 tk-maya, tk-nuke, tk-photoshop 등과 같이 tk가 접두사로 붙은 응용프로그램 이름입니다. 이 값을 빈 문자열로 설정하면 툴킷 엔진이 시작되지 않으므로 툴킷 엔진이 설정되지 않은 응용프로그램을 시작할 수 있습니다.

mac_args

유형: str

설명: Mac OS X에서 응용프로그램에 문자열로 전달할 인수입니다.

windows_path

유형: str

설명: Windows에서 실행 가능한 응용프로그램의 경로입니다.

group

유형: str

설명: 이 명령이 속한 그룹의 이름입니다.

hook_before_app_launch

유형: hook

기본값: before_app_launch

설명: 이 후크는 hook_app_launch가 사용되기 바로 전에 호출되며, 응용프로그램이 시작되는 방식(고급 사용법이며 app_launch 후크를 재지정하여 수행할 수 있음)을 수정하지 않고 앱 시작 전에 환경을 수정하려는 경우에 유용할 수 있습니다. 파이프라인 경로, API 또는 기타 사항을 설정에 추가하거나 실행할 추가 스크립트 등을 지정할 수 있습니다.

linux_path

유형: str

설명: Linux에서 실행 가능한 응용프로그램의 경로입니다.

mac_path

유형: str

설명: Mac OS X에서 실행 가능한 응용프로그램의 경로입니다.

skip_engine_instances

유형: list

설명: 소프트웨어 시작 관리자 명령 등록을 건너뛸 엔진 인스턴스의 문자열 이름 목록입니다. 예를 들어 이 설정의 ['tk-nukestudio'] 값은 해당 환경에서 'tk-nukestudio' 엔진 인스턴스를 참조하는 엔진에 등록된 소프트웨어 엔티티 시작 관리자 명령을 중지합니다. 이 설정은 시작 관리자 없이도 지정된 환경에 맞게 엔진 인스턴스를 구성할 수 있도록 하는 데 사용될 수 있습니다. 특정 환경에 대한 컨텍스트 변경을 허용하되 프로젝트 환경에서만 응용프로그램을 시작하려는 Nuke 스튜디오의 경우에 유용합니다. 이 설정은 소프트웨어 엔티티 시작 관리자에만 영향을 미칩니다.

extra

유형: dict

설명: Shotgun 엔진에 해당하는 추가 값입니다. 이 설정은 Shotgun 엔진별로 정의됩니다. 자세한 정보는 앱 문서를 참조하십시오.

defer_keyword

유형: str

설명: 고급 매개변수입니다. 이 설정을 사용하면 폴더 생성 유예와 관련된 고급 커스터마이즈가 가능합니다. 폴더 생성 유예를 통해 특정 키워드에 따라 부분 하위 폴더 구조를 만들 수 있습니다(자세한 정보는 기본 문서 참조). 앱이 시작되기 전에 폴더가 자동으로 생성되며 기본적으로(예: 이 설정을 null로 유지하는 경우) 시작 앱은 엔진 이름을 폴더 생성 유예 키워드로 전달합니다. 이렇게 하면 tk-maya, tk-nuke 등의 폴더 생성 구성에서 유예 규칙을 쉽게 설정할 수 있습니다. 그러나 예를 들어 Nuke 및 Nuke X(둘 다 nuke 엔진 실행)에 특정 폴더 유예 구조를 설정하려는 경우 자세한 세분화가 필요합니다. 이 설정은 엔진 이름을 전달하는 기본 동작을 재지정하는 데 사용할 수 있습니다. 대신 폴더 생성 유예에 문자열을 전달할 수 있습니다(예: 위의 경우 'nuke' 및 'nuke_x'). 이 매개변수는 툴킷 엔진이 정의되지 않은 앱 시작과 함께 폴더 생성 유예를 사용하려는 경우에도 유용합니다. 이러한 앱 시작 인스턴스의 경우 엔진 설정이 비어 있으므로 엔진 이름이 폴더 생성 유예에 전달되지 않습니다. 이러한 경우 이 매개변수를 사용하여 폴더 생성 유예를 제어할 수 있습니다. 쉼표를 구분 기호로 사용하여 여러 키워드를 지정할 수 있습니다(예: 'nuke, nuke_x'). 이렇게 하면 폴더 생성 유예 설정에서 이러한 값을 갖는 스키마의 폴더에 대한 폴더 생성이 트리거됩니다.

menu_name

유형: str

설명: Shotgun 메뉴에 표시할 이름입니다.

hook_app_launch

유형: hook

기본값: app_launch

설명: 응용프로그램을 시작하기 위해 호출됩니다. 이 후크는 시작 명령 및 매개변수의 실제 실행을 수행하는 코드를 포함합니다. 스튜디오에 커스텀 시작 관리자 시스템이 있는 경우 탱크의 기본 시작 동작을 재지정하는 것이 편리할 수 있습니다.

versions

유형: list

설명: 이 앱의 인스턴스에 대한 다른 설정의 값에서 {version} 토큰을 대체하는 데 사용될 문자열 목록입니다. 예를 들어 이 설정에 대한 값이['2012', '2013', '2014']이고 menu_name 값이 'Launch Maya {version}'인 경우 등록될 명령 메뉴 이름은 Launch Maya 2012, Launch Maya 2013, Launch Maya 2014입니다. 목록에 있는 첫 번째 버전은 앱을 실행하는 엔진에서 개념을 지원하는 경우 '기본' 버전으로 간주됩니다. ['(7.0)v3', '(8.0)v1']과 같이 괄호로 묶는 경우 버전 조각을 사용할 수 있습니다. 이러한 버전 문자열은 {v0}, {v1}, {v2}, ... 대체 토큰을 통해 다른 설정에서 사용할 수 있습니다.

scan_all_projects

유형: bool

설명: true이고 use_software_entity가 true이면 시작 관리자는 현재 환경의 프로젝트가 아닌 모든 프로젝트에 등록됩니다.

hook_before_register_command

유형: hook

기본값: before_register_command

설명: 이 후크는 시작 관리자 명령 등록이 발생하기 바로 전에 호출됩니다. 시작 관리자와 관련된 엔진 인스턴스 이름을 변경하는 데 사용할 수 있습니다. 이 후크의 메서드는 소프트웨어 엔티티 시작 관리자가 사용될 때만 호출됩니다.

windows_args

유형: str

설명: Windows에서 응용프로그램에 문자열로 전달할 인수입니다.

use_software_entity

유형: bool

설명: 사용 가능한 DCC에 대한 시작 명령을 등록하기 위해 Shotgun 소프트웨어 엔티티를 사용할지 여부입니다.

group_default

유형: bool

설명: 이 명령이 그룹 전체를 나타내야 하는지 여부를 나타내는 부울 값입니다. 이 값을 True로 설정하면 이름이 지정된 각 그룹에 대해 단일 버튼을 표시하는 응용프로그램에서 실행되고 표시되는 명령임을 나타냅니다.

icon

유형: str

기본값: {target_engine}/icon_256.png

설명: 응용프로그램에 대해 표시할 아이콘의 경로입니다. 값이 '{target_engine}'으로 시작하면 나머지 경로는 엔진 설치 루트와 관련이 있습니다. 값이 '{config_path}'로 시작하면 나머지 경로는 구성의 루트와 관련됩니다. 경로는 슬래시를 사용해야 하며 사용 시 올바른 운영 체제 구분 기호로 바뀝니다.

팔로우

0 댓글

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