![]() |
プロローグ 今回は、既に持っているスクリプトで動くツールがあって、それをボタン登録して動いているものがあるとします。 通常それは、表示 > ツールバー > 新規ツールバー内にボタンを押せば、動くようにしているはずです。 ![]() その使用しているメニュー内にこのスクリプトのボタンがあればもっとすっきりすると考えたことはないでしょうか? そこで、既存スクリプトを自動インストールプラグイン(Self-Installing Plug-ins)に書き換えて、 良く使用するメニューに登録する、といったことを紹介したいと思います。 幾つかの事前情報を提供します。 自動インストールプラグインは C:\users\<username>\Softimage\XSI_<ver>\Application\Plugins 内にそのファイルを置くだけで自動的にインストールされる形式のプラグインです。 XSIのSDKについて スクリプトエディターの右上の [?] ボタンを押すとSDK入門ドキュメントが開きます。 (場所>>C:\Softimage\XSI_バージョン\Doc\jp\XSISDK\xsisdk.chm) その中の SDK Customizationガイド > 自動インストールプラグイン SDK Customizationガイド > 標準メニューとコンテキストメニュー ユーザ独自のメニューの作成方法 XSIでのカスタムメニューの登録 メニューアンカーポイントについて 等参考箇所多数。 |
既存スクリプトの内容確認
ここでは、Olivier Ozouxさんが作成しているOO_InvertConstraint.vbsというスクリプトを例にとらせていただきました。この中身を見ると、InvertConstraintProcというコマンドが実行されていることがわかります。
このInvertConstraintProcというコマンドが自動インストールプラグイン内のExcute部分から呼ばれるようにすると同時に 好きなメニューに実行する項目を登録するのが目的です。 |
ウィザードを使って雛形を作成しプラグインを作る プラグインマネージャからウィザードを使えば簡単に自動インストールプラグインの雛形が作成できます。 ファイル > プラグインマネージャから下図のように表示し、ユーザールート > プラグイン > 新規作成 > コマンドを選択します。 ![]() 想定しているコマンド名を記述し、コーディング言語にVBSを選択し、メニューに追加はこの実行ファイルを配置する場所を指定します。 右側の[?] ボタンを押すと、置ける場所一覧(=XSIメニューのアンカーポイントと言う)が表示されます。 ![]() この中から、2007番、[Constrain]メニューのアンカーポイント を利用するとします。(このアンカーポイント自身はV6.5でも利用できます) 最後に出力ディレクトリーを確認し[コードの生成]ボタンを押します。 するとここまでのものを作成してくれます。0-InvertConstPlugin.vbs ![]() 先の実行コマンド InvertConstraintProc を入れ込みます。
後は、上で出来た構文の最後の行に続いて、コンストレイントを逆にするプログラムで
を抜いたものを記述すればプラグインの完成です。 編集したプラグインはXSIを再起動せずに、プラグインマネージャから再ロードをすることができます。編集することもここから出来ます。 ![]() 構文に間違いがある場合は、XSIの画面下のバーが赤く表示されて、その内容がスクリプトエディターに表示されます。
![]() |
XSI上でツールの動作確認 主なコンストレイントが設定されているオブジェクトを選択し、 作成したコンストレイント・メニューに登録されているInvertConst を実行します。 すると各コンストレイントの矢印が反転し、ツールが正常に動作していることが確認取れます。 ![]() 例えば、ファンクカーブを編集するツールは、AnimationEditorの編集メニュー内に置くことが出来ます。 |