サポートチケットを作成する
フォローする

Q100118:Nuke 9と10でカスタムキーボードショートカットを設定する

概要

Nukeがショートカットを処理する方法が変更されたため、Nuke 8.0以前に設定されたカスタムホットキーはNuke 9.0以降では機能しない可能性があります。
この記事では、変更点と、Nuke 9.0以降でホットキーを機能させる方法について説明します。

詳しくは

Nuke 9.0と10はショートカットがアクティブなときのコンテキストを持つ新しいショートカットシステムを使います。デフォルトのコンテキストはショートカットをNukeウィンドウ全体に適用することです。
カスタムホットキーを設定して、他の場所に既存のショートカットがあるキー(ビューアのW、H、R、G、B、Aキーなど)を使用するノードグラフでノードを作成すると、問題が発生する可能性があります。コンテキストを含めないと、マウスがビューア上にあるときに同じ文字を使った2つのショートカットがあることになります。これはどちらも実行されず、Nukeは端末またはコマンドプロンプトに "Ambiguous short error"メッセージを出力します。
この問題を回避するために、Nukeのmenu.addCommand()関数には、ショートカットが実行される場所を示すための "shortcutContext"というNuke 9.0および10.0の新しい引数があります。 0 =ウィンドウ、1 =アプリケーション、2 = DAG /ノードグラフの3つの値があります。そのため、Nuke 9.0または10.0でカスタム書き込みギズモを作成するコマンドの例は、次のようになります。
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w', shortcutContext=2)
この引数はNuke 8.0以前では認識されないので、menu.pyファイルにその行を追加すると、Nuke 8.0以前は起動しなくなります。これを回避するには、menu.pyで次のようにします。
if nuke.env['NukeVersionMajor'] < 9 :
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w')
else:
toolbar.addCommand('MenuLocation', 'nuke.createNode("MyWriteGizmo")', 'w', shortcutContext=2)

参考文献

ホットキーの割り当てとNukeのメニューのカスタマイズに関する詳細は、Nuke Python開発者ガイドのUIのカスタマイズに関する章にあります。

キーワード: Nuke 、ショートカット、ホットキー、カスタマイズ、カスタマイズ

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
11人中4人がこの記事が役に立ったと言っています

コメント