cymel.initmaya

スタンドアロン python (mayapy) からの Maya の初期化。

cymel 内の Maya に依存するモジュールがインポートされる際に initialize がデフォルト設定で呼び出されるため、 このモジュールを明示的に使用する必要はほとんどないが、 初期化プロセスをカスタマイズしたい場合などに利用できる。

Functions:

addCymelPluginsPathToAllowedlist()

Maya 2022以降のUIモードの場合に、cymelのプラグインパスを信頼リストに追加する。

callUserSetupMel()

userSetup.mel を呼び出す。

getUserPrefsDir()

ユーザープリファレンスディレクトリのパスを得る。

initApiImmutables()

Maya API の数学クラスを immutable ラップのための定義をする。

initAutoPlugins()

オートロード設定のされたプラグインをロードする。

initCymelPluginsPath()

cymel が同梱する Maya プラグインのパスを設定する。

initMaya()

Maya が初期化済みなら False を、未初期化なら初期化して True を返す。

initMels([userPrefs, startup, plugins, ...])

各種初期化MELを呼び出す(source する)。

initialize([mels, plugins, userSetup])

必要な初期化を全て行う。

isMayaInitialized()

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.getUserPrefsDir()

ユーザープリファレンスディレクトリのパスを得る。

戻り値の型:

str

cymel.initmaya.initApiImmutables()

Maya API の数学クラスを immutable ラップのための定義をする。

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 は呼び出されない。

繰り返し呼び出しても問題はない。

戻り値の型:

bool

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)

必要な初期化を全て行う。

以下が行われる。

初期化済みなら何もされないので、 繰り返し呼び出しても問題はない。

パラメータ:

mels (bool) -- initMaya が True のときに initMels を呼び出すかどうか。 Maya の設定に依存する処理をしないなら、呼び出さなくても問題はないため、 デフォルトでは False としている。

:param bool plugins

プラグインをオートロードするかどうか。

プラグインは、シーンの requires で動的に解決されるし、 バッチ処理で必要な場合は明示的にロードするようにすべきであり、 処理負荷も大きいので、デフォルトでは False としている。

:param bool userSetup

initMaya が True のときに callUserSetupMel を呼び出すかどうか。

cymel.initmaya.isMayaInitialized()

Maya が初期化済みかどうか。

戻り値の型:

bool