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

フォローする

まとめ

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

初めてシェルフ アイテムを設定する場合は、「Q100401: Katanaでシェルフ アイテムを作成する方法」の手順と情報に従ってください。

シェルフアイテムの編集

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

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

ソースの表示.png

これにより、テキスト エディターで次のようなシェルフ アイテム Python スクリプトが開きます。

シェルフスクリプト_メモパッド.PNG

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

これは、シェルフアイテムにちなんで名付けられた、これらのディレクトリのいずれかのサブフォルダーにあります。そこから、目的の Python エディターでファイルを開くことができます。

棚アイテムスクリプトのドキュメントストリング

Q100401: Katanaでシェルフ アイテムを作成する方法 で説明されているプロセスを使用してシェルフ アイテム スクリプトを作成した場合、デフォルトで次のような 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 Katanaデフォルトのキーボード ショートカットのリストは、 キーボード ショートカットリソースにあります。

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

上記の docstring をどのように利用できるかを示すために、以下のシェルフ項目スクリプトを空の .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シェルフ アクション メニュー内の「追加 -> シェルフのリロード」を使用してシェルフをリロードします。

ReloadShelf.png

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

FloatSelected_Tooltip.png

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

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

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

棚アイテムのアイコンを選択する

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

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

アイコン: アイコン\シーングラフ\locator32.png

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

棚の取り外し

シェルフ アクションからシェルフを削除したい場合は、.katana\Shelves フォルダからシェルフ フォルダを削除することで実行できます。 Katanaを開いた状態で変更を確認したい場合、またはドロップダウン シェルフからシェルフを削除したい場合は、[シェルフを再ロード] をクリックすると、.katana/shelf ファイルに加えられた変更がKatanaシーン上で更新されます。

mceclip2.png

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

棚アイテムの削除

シェルフ アイテムを削除したい場合は、シェルフ アイテム スクリプトを含む Python ファイルを削除するか、シェルフ アクションポップアップ メニューを使用して行うことができます。 Katana内から Self アイテムを削除するには:

[シェルフ アクション]メニューに移動し、削除するシェルフ アイテムを右クリックして、 [削除... ] を選択します。

棚の削除.png

押すと、削除を確認するポップアップ ウィンドウが表示されます。シェルフ項目を削除するには、 「削除」をクリックします。

DeleteShelfWindow.png

注:上のポップアップ ウィンドウに表示されているように、 Katanaシェルフ アイテム スクリプトを削除せず、代わりに拡張子「.bak」を追加するため、スクリプトはKatanaに読み込まれなくなります。

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

棚_バックアップ.PNG

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

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

参考文献

Katanaのシェルフ アイテム スクリプトの概要については、 シェルフ アイテム スクリプトユーザー ガイドを参照してください。

初めてシェルフ アイテムを設定する場合は、「Q100401: Katanaでシェルフ アイテムを作成する方法」を参照してください。

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

    理由をお聞かせください