Hello World のサンプルは、Maya Python API 1.0 を使用するプラグイン開発の重要な構成要素をいくつか示します。
Python 関数とプラグインの詳細については、「Maya Python API」セクションを参照してください。
class Py1HelloWorldCmd(OpenMayaMPx.MPxCommand): kPluginCmdName = "py1HelloWorld"
コマンドは、cmdCreator() を使用してインスタンス化されます。doIt() はコマンドのアクションを実行します。より複雑なコマンド プラグインでは、doIt() を使用して引数を解析し、内部データを設定し、その他のハウスキーピング処理を行ってから、redoIt() 関数を呼び出します。その後、redoIt() 関数はコマンドのアクションを実行します。
詳細については、「doIt() 関数と redoIt() 関数」を参照してください。
@staticmethod def cmdCreator(): return OpenMayaMPx.asMPxPtr( Py1HelloWorldCmd() ) def doIt(self,argList): print ("Hello World!")
すべてのプラグインは、initializePlugin() 関数を実装する必要があります。次に、この関数が registerCommand() を呼び出します。initializePlugin() が実装されていない場合、プラグインのロードは失敗します。詳細については、「プラグインの初期化と初期化解除」を参照してください。
def initializePlugin(plugin): pluginFn = OpenMayaMPx.MFnPlugin(plugin) try: pluginFn.registerCommand( Py1HelloWorldCmd.kPluginCmdName, Py1HelloWorldCmd.cmdCreator ) except: sys.stderr.write( "Failed to register command: %s\n" % Py1HelloWorldCmd.kPluginCmdName ) raise
すべてのプラグインは、uninitializePlugin() 関数を実装する必要があります。次に、この関数が deregisterCommand() を呼び出します。uninitializePlugin() が実装されていない場合、プラグインのロードは失敗します。詳細については、「プラグインの初期化と初期化解除」を参照してください。
def uninitializePlugin(plugin): pluginFn = OpenMayaMPx.MFnPlugin(plugin) try: pluginFn.deregisterCommand(Py1HelloWorldCmd.kPluginCmdName) except: sys.stderr.write( "Failed to unregister command: %s\n" % Py1HelloWorldCmd.kPluginCmdName ) raise