Q100402: Katana でシェルフアイテムを編集および削除して、既存のカスタム Python スクリプトを変更する方法

まとめ

この記事では、シェルフアイテムを編集またはカスタマイズする方法と、必要に応じてシェルフアイテムを削除する手順について説明します。

初めてシェルフ アイテムを設定する場合は、 「Q100401: Katanaでシェルフ アイテムを作成して、簡単にアクセスできるカスタム Python スクリプトを提供する方法」の手順と情報に従ってください。

棚のアイテムを編集する

シェルフ アイテムは、作成後にKatanaの Shelf Item Python スクリプトにアクセスするか、 .katanaと関連する Shelves、ShelvesNodeSpecific、または ShelvesScenegraph ディレクトリに移動して、そこでスクリプトを見つけることによって編集できます。

1. Katanaでスクリプトにアクセスするには、シェルフアクションを開き、目的のシェルフ項目を選択して、「ソースの表示」を右クリックします。

ビューソース.png

これにより、次のようなテキスト エディターで Shelf Item Python スクリプトが開きます。

シェルフスクリプト_メモ帳.PNG

2. Katanaの外部でスクリプトにアクセスするには、 .katana/Shelves.katana/ShelvesNodeSpecific 、または.katana/ShelvesScenegraphフォルダーに移動し、関連する.pyファイルを見つけます。

このファイルは、シェルフアイテムの名前が付いたディレクトリのサブフォルダに保存されます。そこから、任意のPythonエディタでファイルを開くことができます。

シェルフアイテムスクリプトのドキュメント文字列

Q100401: Katanaでシェルフ アイテムを作成して簡単にアクセスできるカスタム Python スクリプトを提供する方法で説明されているプロセスを使用してシェルフ アイテム スクリプトを作成した場合、次のような docstring がデフォルトで含まれます。

""" 
NAME: <the name of the script to show in the UI>
ICON: <the filename of icon to use in the UI>
KEYBOARD_SHORTCUT: <the keyboard shortcut to use in the UI to run the Shelf Item Script> SCOPE: <names of types of nodes to target by node-specific shelf items> <description> """

これには、以下に詳述するスクリプトに関する情報が保持されます。

  • NAMEはシェルフアクションに表示されるスクリプトアイテムの名前です
  • ICON は、選択したアイコンの画像の場所です。(詳細は後述)
  • KEYBOARD_SHORTCUTはスクリプトアイテムを実行するためのショートカットです
  • SCOPEは、シェルフアイテムが適用される特定のノードタイプを定義するために使用されます。
  • <description>は棚のアイテムのヘルプツールチップです

注意:カスタムシェルフアイテムにキーボードショートカットを設定する場合、 Katanaに既に存在するショートカットは使用できません。警告が表示され、 Katanaデフォルトのキーボードショートカットのリストはキーボードショートカットリソースで確認できます。

棚アイテムのスクリプトを編集する

上記の docstring をどのように活用できるかを示すために、以下の Shelf Item Script を空の .py ファイルにコピーし、 .katana/Shelves/Custom_Shelves/ディレクトリに保存します。

"""
NAME: Float Selected
ICON: Icons\Scenegraph\locator32.png
KEYBOARD_SHORTCUT: T
SCOPE: none
Float Selected Nodes via Keyboard Shortcut
"""

# Get list of selected nodes
nodeList = NodegraphAPI.GetAllSelectedNodes()

# Find Nodegraph tab and float nodes
nodegraphTab = UI4.App.Tabs.FindTopTab('Node Graph')
if nodegraphTab:
    nodegraphTab.floatNodes(nodeList)


スクリプトを保存したら、 Katanaシェルフ アクション メニュー内の [追加] -> [シェルフの再ロード]でシェルフを再ロードします。

リロードシェルフ.png

シェルフ アイテムは、カスタム キーボード ショートカット、アイコン、ヘルプ ツールチップとともに「フロート選択」として表示されます。

フロート選択ツールチップ.png

シェルフ アイテム スクリプト機能は、キーボード ショートカット (T) でトリガーされるか、シェルフ アクション メニューからシェルフ アイテムを選択すると、現在選択されているノードをフロート表示します。

フローティングされたノードは、左クリックして放すまでカーソルに追従します。これにより、選択したノードまたは背景を手動でクリックしてドラッグする必要がなくなります。

同様の Python 関数を組み合わせる方法の詳細については、開発者ガイドのサンプル スクリプトを参照してください。

棚アイテムアイコンの選択

シェルフアクションメニューに表示されるシェルフアイテムのアイコンを置き換えるには、次の場所からKatanaのデフォルトアイコンの 1 つを選択できます: $KATANA_HOME\bin\python\UI4\Resources\Icons

Katanaで利用可能なアイコンをシェルフアイテムに使用するには、 Katanaのデフォルトのリソース検索パスの後にアイコンへのパスを指定する必要があります。Katana のデフォルトのリソース検索パスは $ Katana $KATANA_HOME\bin\python\UI4\Resourcesです。例:

アイコン: Icons\Scenegraph\locator32.png

注:他のカスタム アイコンを使用する場合は、Python スクリプトの ICON セクションに完全なアイコン パスを追加する必要があります。

棚の取り外し

シェルフアクションからシェルフを削除したい場合は、 .katana\Shelvesフォルダからシェルフフォルダを削除してください。Katana Katana開いて変更内容を確認したい場合、またはドロップダウンシェルフからシェルフを削除したい場合は、「シェルフを再読み込み」をクリックしてください。.katana/shelfファイルに加えられた変更は、 Katanaシーンに反映されます。

mceclip2.png

注:シェルフの名前を変更する場合は、.katana/shelf ファイルを見つけて、フォルダーの名前を [カスタム フォルダー] に変更します。

棚のアイテムを削除する

シェルフアイテムを削除したい場合は、シェルフアイテムスクリプトを含むPythonファイルを削除するか、シェルフアクションポップアップメニューをKatanaしてください。Katana内からセルフアイテムを削除するには:

シェルフアクションメニューに移動し、削除するシェルフ項目を右クリックして、 「削除... 」を選択します。

棚の削除.png

押すと、削除を確認するポップアップウィンドウが表示されます。 「削除」をクリックすると、棚のアイテムが削除されます。

棚ウィンドウの削除.png

注:上記のポップアップ ウィンドウに表示されているように、 Katana Shelf Item Script を削除しませんが、代わりに拡張子 ' .bak ' を追加するため、スクリプトはKatanaに読み込まれなくなります。

バックアップ ファイルとして保存され、必要に応じて復元できます。

シェルフ_バックアップ.PNG

シェルフに再度追加する場合は、その場所に移動して「 .bak 」拡張子を削除すると、シェルフ アイテム スクリプトが読み込まれて使用できるようになります。

注: .bakを削除した後、シェルフアクションに移動して「追加->再ロード... 」を使用して、 Katanaセッションで表示するために使用可能なすべてのシェルフ項目を再ロードできるようにします。

さらに詳しく

Katanaの Shelf Item Scripts の概要については、 Shelf Item Scriptsユーザー ガイドをご覧ください。

シェルフ アイテムを初めて設定する場合は、 「Q100401: Katanaでシェルフ アイテムを作成して、簡単にアクセスできるカスタム Python スクリプトを提供する方法」を参照してください。

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください