cymel.initmaya¶
スタンドアロン python (mayapy) からの Maya の初期化。
cymel 内の Maya に依存するモジュールがインポートされる際に
initialize
がデフォルト設定で呼び出されるため、
このモジュールを明示的に使用する必要はほとんどないが、
初期化プロセスをカスタマイズしたい場合などに利用できる。
Functions:
Maya 2022以降のUIモードの場合に、cymelのプラグインパスを信頼リストに追加する。 |
|
|
|
ユーザープリファレンスディレクトリのパスを得る。 |
|
Maya API の数学クラスを |
|
オートロード設定のされたプラグインをロードする。 |
|
cymel が同梱する Maya プラグインのパスを設定する。 |
|
|
Maya が初期化済みなら False を、未初期化なら初期化して True を返す。 |
|
各種初期化MELを呼び出す(source する)。 |
|
必要な初期化を全て行う。 |
Maya が初期化済みかどうか。 |
Constants:
- cymel.initmaya.IS_UIMODE = False¶
MayaがUIモードかどうか。
- cymel.initmaya.MAYA_PRODUCT_VERSION = '2023'¶
別々に存在できるMayaバージョン名( '2020' や '2016.5' など)。
- cymel.initmaya.MAYA_VERSION = (2023, 3, 0)¶
Mayaバージョンを表すタプル。アップデートを判別できるのは2017以降。 (majorVersion, minorVersion, patchVersion)
- cymel.initmaya.MAYA_VERSION_STR = '2023.3'¶
Mayaバージョンの表記。
Functions Details:
- cymel.initmaya.addCymelPluginsPathToAllowedlist()¶
Maya 2022以降のUIモードの場合に、cymelのプラグインパスを信頼リストに追加する。
userSetup.py から呼び出すことで、ユーザー確認を経ずにそれを行うことができる。
- cymel.initmaya.callUserSetupMel()¶
userSetup.mel
を呼び出す。Mayaの仕様に合わせ、バージョンによって挙動が異なる。
2020までは、MELパス上に存在する
userSetup.mel
のうち最優先の1つのみが呼び出されるが、 それより後のバージョンでは全てがパス順に呼び出される。
- cymel.initmaya.initAutoPlugins()¶
オートロード設定のされたプラグインをロードする。
以下を呼び出すことと同じ。:
initMels(userPrefs=True, startup=True, plugins=True, namedCommand=False)
- cymel.initmaya.initCymelPluginsPath()¶
cymel が同梱する Maya プラグインのパスを設定する。
繰り返し呼び出しても重複して設定されることはない。
- cymel.initmaya.initMaya()¶
Maya が初期化済みなら False を、未初期化なら初期化して True を返す。
いずれにせよ、
MAYA_VERSION
などの cymel の定数は初期化される。初期化時に、パス上の全ての
userSetup.py
が呼び出されるが、userSetup.mel
は呼び出されない。繰り返し呼び出しても問題はない。
- 戻り値の型:
- cymel.initmaya.initMels(userPrefs=True, startup=True, plugins=False, namedCommand=True)¶
各種初期化MELを呼び出す(source する)。
Maya の設定に依存する処理をしないなら、呼び出さなくても問題はない。
一度呼び出したMELは繰り返し呼び出さないので、 この関数を繰り返し呼び出しても問題はない。
- パラメータ:
userPrefs (bool) -- ユーザープリファレンスに関連するMELを呼び出すかどうか。 plugins=True のときは True になる。
startup (bool) -- initStartup.mel を呼び出すかどうか。 plugins=True のときは True になる。
plugins (bool) --
プラグインをオートロードするかどうか。
プラグインは、シーンの requires で動的に解決されるし、 バッチ処理で必要な場合は明示的にロードするようにすべきであり、 処理負荷も大きいので、デフォルトでは False としている。
namedCommand (bool) -- ネームドコマンドを生成するかどうか。 ホットキーに mel コードを結びつけるための概念であるため、 UI が無ければ通常は不要なはずだが、処理負荷は大きくはないため、 pymelに倣いデフォルトは True としてる。
- cymel.initmaya.initialize(mels=False, plugins=False, userSetup=True)¶
必要な初期化を全て行う。
以下が行われる。
initMaya
(既に初期化済みなら False となり何もされない)初期化されたら、さらに
mels=True なら
initMels
(plugins=plugins)mels=False で plugins=True なら
initAutoPlugins
userSetup=True なら
callUserSetupMel
初期化済みなら何もされないので、 繰り返し呼び出しても問題はない。
- パラメータ:
mels (bool) --
initMaya
が True のときにinitMels
を呼び出すかどうか。 Maya の設定に依存する処理をしないなら、呼び出さなくても問題はないため、 デフォルトでは False としている。
- :param
bool
plugins プラグインをオートロードするかどうか。
プラグインは、シーンの requires で動的に解決されるし、 バッチ処理で必要な場合は明示的にロードするようにすべきであり、 処理負荷も大きいので、デフォルトでは False としている。
- :param
bool
userSetup initMaya
が True のときにcallUserSetupMel
を呼び出すかどうか。