Photoshop CC

Shotgun Engine for Photoshop CC

Photoshop CC への Shotgun の統合


作成: Shotgun Software
最新バージョン: v1.1.7 (ベータ)
バージョン番号は、セマンティック バージョニング基準に従っています。
システム名:: tk-photoshopcc

目次:

概要

ドキュメント

      インタフェースの概要

      インストール

      拡張機能を有効にする

      インタフェースのコンポーネント

            コンテキスト ヘッダ

            お気に入りシェルフ

            コマンド リスト

            コンテキスト メニュー

            ロギング コンソール

      設定と技術の詳細

            PySide

            CEP 拡張機能

            お気に入りを設定する

            コンテキスト フィールド表示フック

            Photoshop API

                  

            環境変数

            アプリケーション開発者メモ

            以前の統合からの移行

インストール、更新、開発

設定オプション

概要

このドキュメントは、Toolkit の設定を管理するユーザのみが使用可能な機能について説明します。 詳細については、『Shotgun 統合管理者ガイド』を参照してください。 Shotgun Engine for Photoshop には、Shotgun Pipeline Toolkit アプリケーションと Photoshop CC を統合するための標準プラットフォームが含まれています。 インストール後は、Maya、Nuke、および他のアプリケーションで使用するのと同じアプリケーションを実行できます。 Shotgun Engine for Photoshop は、エンジンとアプリケーションが Photoshop CC と通信できるようにする、カスタムの Adobe CEP 拡張機能で構成されます。 すべての Photoshop API がアプリケーション開発者に公開されているため、何かをコンパイルしたり、Photoshop プラグインを作成および展開する方法を確認しなくても、Python や Qt を使用して Photoshop の機能をすばやくビルドできます。

サポート対象のアプリケーション バージョン

この項目はテスト済みです。アプリケーション バージョン CC 2015.5 と CC 2017 で動作することが分かっています。 最新のリリースでの動作は十分可能ですが、正式なテストはまだ完了していません。

ドキュメント

Shotgun Engine for Photoshop CC は、Shotgun と Photoshop CC ワークフローを統合するためのプラットフォームを提供します。 これは、標準的な Shotgun Pipeline Toolkit エンジンと Adobe の共通拡張プラットフォーム(CEP)をベースにビルドされた Adobe CC 拡張機能で構成されます。

有効にすると、Shotgun パネルを Photoshop CC で使用できるようになります。 現在の Shotgun コンテキストの情報とそのコンテキストにインストールされたアプリケーションに登録されているコマンドが表示されます。

Shotgun engine for Photoshop CC

インタフェースの概要

Shotgun 拡張パネルは Photoshop CC のネイティブ パネルと同じカラー パレットと基本レイアウトを使用します。 次の 5 つのコンポーネントで構成されます。

コンポーネント


  1. コンテキスト ヘッダ: 現在のコンテキストのサムネイルとフィールドです。
  2. お気に入りシェルフ: 現在のコンテキストで最もよく使用するアプリケーションを表示するように設計されています。
  3. コマンド リスト: 現在のコンテキストのお気に入りではないすべてのコマンドです。
  4. コンテキスト メニュー: 追加のコンテキスト関連コマンドとデバッグ ツールです。
  5. ロギング コンソール: デバッグのログ出力を表示するコンソール オーバーレイです。

インストール

Shotgun Engine for Photoshop CC のインストールは Shotgun の他の統合と同じプロトコルを使用します。 エンジンやアプリケーションのインストールについては、「Toolkit の管理」の記事を参照してください。 また、統合の設定方法の例については、「Toolkit の既定の設定」を参照してください。

拡張を有効にする

拡張をインストールしたら、Photoshop CC の拡張メニューから起動する必要があります。

拡張メニュー

これを実行するのは 1 度だけです。それ以後の起動では有効にしなくても、Shotgun 拡張パネルは Photoshop CC のレイアウトに表示されます。

いったん有効にすると、それ以降の起動では、Shotgun 統合のブートストラップ中に拡張パネルにロード画面が表示されます。

通常、この画面は、現在のコンテキストが決定され、コマンドが表示されるまでの数秒間表示されます。

インタフェースのコンポーネント

以降のセクションでは、Shotgun Photoshop CC 統合のコンポーネントについて説明します。

コンテキスト ヘッダ

コンテキスト ヘッダは、現在の Shotgun コンテキストに関する情報を表示するためのカスタマイズ可能な領域です。

コンテキスト ヘッダ

コンテキストは現在アクティブなドキュメントによって決定されます。 コンテキストがエンジンによって決定されると、ヘッダはコンテキストのサムネイル フィールドの詳細を表示するように更新されます。 フィールド情報はフックで制御されます。 フィールド表示のカスタマイズ方法については、「コンテキスト フィールド表示フック」を参照してください。

また、Photoshop CC はマルチドキュメント インタフェースであるため、アクティブなドキュメントを変更するとコンテキストが更新され、それに従って Shotgun 拡張機能も更新されます。 アーティストは、特に複数の Shotgun コンテキストで同時に作業する場合はこの動作を理解することが重要です。

お気に入りシェルフ

お気に入りシェルフは、Maya や Houdini のような他の Shotgun DCC 統合で利用できるお気に入りメニューと似ています。 インタフェースのこのセクションはコンテキスト ヘッダのすぐ下にあるので、よく使用する Toolkit アプリケーションが使いやすく、簡単に見つけられるようになります。

シェルフ

シェルフにはお気に入りのコマンドがボタンで表示されます。マウスを上に重ねると、灰色から色付きに変化し、上部のラベルにその名前が表示されます。 マウスを上に重ねると、ボタンの説明が表示されます。

いずれかのボタンをクリックすると、実行する登録済みコマンドのコールバックがトリガされます。

コマンドをお気に入りとして指定する方法については、次の「お気に入りシェルフ」セクションを参照してください。

コマンド リスト

コマンド リストには、現在のコンテキストに登録されているその他の「標準」コマンドが表示されます。

コマンド

通常、パイプライン設定内にインストールされたアプリケーションはここに表示される 1 つまたは複数のコマンドを登録します。 コマンドがお気に入りとして識別されず、コンテキスト メニュー コマンドとしても識別されていない場合は、ここに表示されます。

コマンド リスト ボタンは、お気に入りシェルフ内のボタンと同じように動作します。 唯一異なる点は、アイコンの右側に完全な名前のリストとして表示されることです。

コンテキスト メニュー

コンテキスト メニュー コマンドとして登録されているコマンドは、Shotgun 拡張パネルのコンテキスト メニューに表示されます。

コンテキスト メニュー

他のコマンド領域と同様に、このコマンドはコンテキストに応じて変化します。 Jump to ShotgunJump to Filesystem などのコマンドは常にここから使用できます。

ロギング コンソール

ロギング コンソールは、CEP JavaScript インタプリタと Toolkit の Python プロセスの両方のログ出力をすべて表示します。

コンソール

拡張機能に問題があり、サポートが必要な場合、ロギング コンソール出力は Shotgun のサポート チームが問題をデバッグするのに非常に役立ちます。

設定と技術の詳細

次のセクションでは、貴社のパイプライン固有のニーズに合わせて統合を設定できるよう、統合の技術的な側面について少し説明します。

PySide

Shotgun Engine for Photoshop CC は PySide を使用します。 正式な手順については、「Pyside をインストールする」を参照してください。

CEP 拡張機能

拡張機能自体はエンジンにバンドルされており、エンジンが Photoshop CC の初回起動時に自動的にインストールします。 拡張機能はアーティストのローカル マシンの標準的な OS 固有の CEP 拡張ディレクトリにインストールされます。

# Windows
> C:\Users\[user name]\AppData\Roaming\Adobe\CEP\extensions\

# OS X
> ~/Library/Application Support/Adobe/CEP/extensions/

Photoshop CC を起動すると、エンジン ブートストラップ コードは、エンジンにバンドルされている拡張機能のバージョンとマシン上にインストールされているバージョンを比較します。 つまり、新しいバージョンの拡張機能がバンドルされている場合は、エンジンを更新するとインストールされている拡張機能がバンドルされている新しいバージョンに自動的にアップデートされます。

お気に入りを設定する

お気に入りシェルフは、インストールしたアプリケーションに登録されているコマンドを表示するように設定できます。 表示するには、shelf_favorites 設定を環境設定の tk-photoshopcc セクションに追加するだけです。 次に例を示します。

shelf_favorites:
    - {app_instance: tk-multi-workfiles2, name: File Save...}
    - {app_instance: tk-multi-workfiles2, name: File Open...}
    - {app_instance: tk-multi-publish, name: Publish...}
    - {app_instance: tk-multi-snapshot, name: Snapshot...}

設定の値は、環境設定にインストールされたアプリケーションの 1 つで提供される、登録済みコマンドを識別するディクショナリのリストです。 app_instance キーは特定のインストール済みアプリケーションを識別し、name キーはこのアプリケーションによって登録されたコマンドの表示名に一致します。 上記の例では、4 つのお気に入りコマンドが表示されています。tk-multi-workfiles2 アプリケーションのファイルの表示と保存のダイアログと、標準の Toolkit のパブリッシュとスナップショットのダイアログです。 これら 4 つのコマンドはお気に入りシェルフに表示されます。

コンテキスト フィールド表示フック

エンジンには、パネルのコンテキスト ヘッダ セクションに表示されるフィールドを制御するフックがあります。 フックには表示する内容をカスタマイズするために上書きできる 2 つのメソッドがあります。

最初のメソッドは get_entity_fields() メソッドです。 このメソッドは、現在の Shotgun コンテキストを表すエンティティ タイプを受け入れます。 予想される戻り値は、表示するためにクエリーの必要があるエンティティのフィールドのリストです。 エンジン自体はデータのクエリーを非同期に処理します。

Shotgun からデータをクエリーすると、フックの 2 番目のメソッドが呼び出されます。 この get_context_html() メソッドは、get_entity_fields() メソッドで指定されたクエリー フィールドが入力されたコンテキスト エンティティ ディクショナリを受け取ります。 予想される戻り値は、クエリー対象のエンティティ フィールドを表示するためにフォーマット化された HTML を含む文字列です。

既定のフックの実装は、これらのメソッドで必要な内容を確認する上で役立ちます。

エンジンは、エンティティのサムネイルが使用可能な場合に常に表示します。

Photoshop API

エンジンは Photoshop CC の JavaScript API を Python に公開します。 この API の完全なマニュアルは、ここから入手できます。

Photoshop API オブジェクトは engine.adobe として公開されます。 次の例では、Toolkit のアプリケーションやフック内から Photoshop DOM を直接操作する方法を示します。 標準的な Toolkit アプリケーションには、Photoshop マニュアルの操作方法に関する作業例が含まれています。

ファイルをロードする。

f = adobe.File('/Path/To/File.jpeg')
adobe.app.load(f)

ルーラの単位をピクセルに設定する。

pixels = adobe.Units.PIXELS
adobe.app.preferences.rulerUnits = pixels

既定のオプションを使用して Web の現在のドキュメントを書き出す。

temp_thumb_file = adobe.File(out_path)
save_for_web = adobe.ExportType.SAVEFORWEB
export_options = adobe.ExportOptionsSaveForWeb()
adobe.app.activeDocument.exportDocument(temp_thumb_file, save_for_web, export_options)

各レイヤを個別のファイルとして書き出す。

doc = adobe.app.activeDocument
layers = doc.artLayers
layers = [layers[i] for i in xrange(layers.length)]
original_visibility = [layer.visible for layer in layers]

save_for_web = adobe.ExportType.SAVEFORWEB
export_options = adobe.ExportOptionsSaveForWeb()

for layer in layers:
    layer.visible = False

for layer in layers:
    layer.visible = True
    out_file = adobe.File("c:/layer.%s.jpg" % str(layer.name))
    doc.exportDocument(
        out_file,
        save_for_web,
        export_options,
    )
    layer.visible = False

for (i, layer) in enumerate(layers):
    layer.visible = original_visibility[i]

環境変数

デバッグをサポートするために、エンジンの既定値の一部を変更する環境変数のセットが用意されています。

SHOTGUN_ADOBE_DISABLE_AUTO_INSTALL: スタートアップ プロセスでエンジンにバンドルされた拡張機能を自動的にインストールまたは更新しないようにします。

SHOTGUN_ADOBE_HEARTBEAT_INTERVAL: Python ハートビート間隔(秒単位、既定は 1 秒)。 従来の環境変数 SGTK_PHOTOSHOP_HEARTBEAT_INTERVAL が設定されている場合は優先されます。

SHOTGUN_ADOBE_HEARTBEAT_TIMEOUT: Photoshop によるハートビートの回答まで Python が待機する時間(秒単位、既定は 0.5 秒)。 従来の環境変数 SGTK_PHOTOSHOP_HEARTBEAT_TIMEOUT が設定されている場合は優先されます。

SHOTGUN_ADOBE_HEARTBEAT_TOLERANCE: 終了までのハートビートのエラー数(既定は 2)。 従来の環境変数 SGTK_PHOTOSHOP_HEARTBEAT_TOLERANCE が設定されている場合は優先されます。

SHOTGUN_ADOBE_NETWORK_DEBUG: ログ出力時に追加のネットワーク デバッグ メッセージを含めます。 従来の環境変数 SGTK_PHOTOSHOP_NETWORK_DEBUG が設定されている場合は優先されます。

SHOTGUN_ADOBE_PYTHON: エンジンの起動時に使用する Python の実行可能ファイルへのパス。 設定しない場合は、システムの Python が使用されます。 Photoshop が Shotgun Desktop や tk-shell エンジンなどの Python プロセスから起動される場合、このプロセスで使用する Python は Photoshop 統合で使用されます。

SHOTGUN_ADOBE_RESPONSE_TIMEOUT: Python が Photoshop からの応答を待機する時間(秒単位、既定は 300 秒)。 従来の環境変数 SGTK_PHOTOSHOP_TIMEOUT が設定されている場合は優先されます。

アプリケーション開発者メモ

  • Python プロセスは Photoshop CC プロセスから独立しているため、アプリケーション ウィンドウで上記の Photoshop ウィンドウをできるだけ整理して表示するには、エンジン内でいくつかの作業を行います。 このセットアップの注意点の 1 つに、QFileDialog にネイティブ OS Windows を使用する既定のオプションがあります。 このエンジンを使用してアプリケーションを開発する場合は、ネイティブのダイアログを使用しないオプションを設定してください。 tk-multi-pythonconsole アプリケーションの例を参照してください

以前の統合からの移行

従来の Photoshop 統合から移行する方法については、このマニュアルを参照してください。 この移行で問題が発生した場合、または何か質問がある場合は、support@shotgunsoftware.com までお問い合わせください。

インストールと更新

Shotgun Pipeline Toolkit にこのエンジンを追加する

Project XYZ にこのエンジンを追加するには、asset という名前の環境で次のコマンドを実行します。

> tank Project XYZ install_engine asset tk-photoshopcc

最新バージョンに更新する

この項目が既にプロジェクトにインストールされている場合に最新バージョンを取得するには、update コマンドを実行します。 特定のプロジェクトに含まれている tank コマンドに移動し、そこでこのコマンドを実行します。

> cd /my_tank_configs/project_xyz
> ./tank updates

または、tank コマンドを実行し、プロジェクトの名前を指定して、更新チェックを実行するプロジェクトを指定します。

> tank Project XYZ updates

コラボレーションと発展

Shotgun Pipeline Toolkit にアクセスできる場合は、すべてのアプリケーション、エンジン、およびフレームワークのソース コードにも Github からアクセスできます。これらは Github を使用して格納および管理しています。 これらの項目は自由に発展させてください。さらなる独立した開発用の基盤として使用したり、変更を加えたり(その際はプル リクエストを送信してください)、 いろいろと研究してビルドの方法やツールキットの動作を確認してください。 このコード リポジトリには、https://github.com/shotgunsoftware/tk-photoshopcc からアクセスできます。

特殊な要件

  • 上記の操作を行うには、Shotgun Pipeline Toolkit Core API バージョン v0.18.45 以降が必要です。

環境設定

以下に、使用するすべての環境設定の概要を示します。 これらの設定は、このアプリケーションまたはエンジンを有効にするための環境設定ファイルで定義する必要があります。

automatic_context_switch

タイプ: bool

既定値: True

説明: アクティブなドキュメントを変更した場合にコンテキストを変更するかどうかを制御します。

shelf_favorites

タイプ: list

説明: Shotgun パネルのお気に入りシェルフに表示される登録済みコマンドを制御します。 これはリストで、各項目は「app_instance」と「name」というキーを持つディクショナリになります。 app_instance キーは、環境設定ファイルで定義された特定のアプリケーション インスタンスにこのエントリを接続します。 「name」はお気に入りを作成するためのコマンド名です。

debug_logging

タイプ: bool

説明: デバッグ メッセージをロガーに送信するかどうかを制御します。

context_fields_display_hook

タイプ: hook

既定値: {self}/context_fields_display.py

説明: コンテキスト ヘッダでコンテキスト フィールドがクエリーおよび表示される方法を制御するフックです。

フォローする

0 コメント

ログインしてコメントを残してください。