当ブログのリンクにはプロモーションを含む場合がありますのでご了承下さい

【Substance 3D Painter Python】追加のPythonプラグインパスを通す

Substance 3D Painter Pythonの日本語情報があまり無いので、簡単な事でも情報としてまとめておきたいと思います。
今回は任意のフォルダをPythonプラグインパスとして通す方法を調べました。

使用ソフトバージョン

Adobe Substance 3D Painter 9.1.1

Pythonプラグインのドキュメントは、ヘルプメニューから見ることが出来ます。

スタートアップスクリプトでパスを通す

Substance 3D Painterには、起動時に実行させることが出来る、スタートアップスクリプトという仕組みがあります。
それを使ってPythonスクリプトでプラグインパスを通す方法です。

スタートアップスクリプトは、デフォルトでは以下に設置するフォルダがあります。

スタートアップスクリプト格納場所

C:/Users/ユーザー名/Documents/Adobe/Adobe Substance 3D Painter/python/startup/

プラグインパスとして追加したいフォルダには、以下の3つのフォルダを作成しておきます。

  • plugins
  • startup
  • modules

ヘルプでは、以下のファイルにこの事が記載されています。

(Substance 3D Painterインストール場所)/resources/python-doc/plugins/substance_painter_plugins.html

フォルダを用意したら、startupスクリプトフォルダに以下のようなpythonスクリプトを格納します。
ファイル名は何でも構いませんが、ここではstartup.pyとしています。

import substance_painter_plugins


def start_plugin():
    substance_painter_plugins.path.append("追加したいpythonプラグインパス")
    substance_painter_plugins.update_sys_path()

def close_plugin():
    pass

if __name__ == "__main__":
    start_plugin()

これでソフト起動時にこのスクリプトが実行されて、追加したフォルダがプラグインパスとして認識されます。

環境変数でプラグインパスを通す

SUBSTANCE_PAINTER_PLUGINS_PATH という環境変数にパスを通すことで、Substance 3D Painterがプラグインパスとして読み込んでくれるようになります。

Substance 3D Painterの起動バッチやランチャーで通したい場合には、こちらの環境変数を使う事になります。

こちらの方法については、COYOTE 3DCG STUDIOさんのページで詳しく解説されていました。

Substance 3D Painter PythonAPI をつかってみよう
https://3d.crdg.jp/tech/archives/2633

貴重な日本語情報有難いですね!