当ブログのリンクにはプロモーションを含む場合がありますのでご了承下さい (Please note that links on this blog may contain promotional offers)

【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

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