とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

maya:python を使用した コマンドプラグイン の作成方法のご紹介

maya では python を使用することができます。

従来 maya では独自の言語 mel の使用 と c++ によるプラグイン開発が可能でした。

 

そして「結構前から」ですが、

python を使うことで mel でできることと プラグインでできることの

両方をできるようになっています。

そしてなんといっても windows で蓄積された

たくさんの機能も利用することができます。

 

python を使用して mayaのコマンドプラグインを制作例を

ご紹介します。

 

pythonの例)

# -*- coding: utf-8 -*-

import sys
import maya.OpenMaya as OpenMaya
import maya.OpenMayaMPx as OpenMayaMPx

# Helloコマンド
class HelloCmd(OpenMayaMPx.MPxCommand):
 def __init__(self):
  OpenMayaMPx.MPxCommand.__init__(self)

 def doIt(self,argList):
  print 'Hello World!!'

# creater
def HelloCreator():
 return OpenMayaMPx.asMPxPtr( HelloCmd() )


# プラグインの登録
def initializePlugin( obj ):
 plugin = OpenMayaMPx.MFnPlugin( obj, 'toncrimentan', '1.0', 'Any' )
 plugin.registerCommand( 'hello', HelloCreator )

# プラグインの解除
def uninitializePlugin( obj ):
 plugin = OpenMayaMPx.MFnPlugin( obj )
 plugin.deregisterCommand( 'hello' ) 

 

実際に

プラグインマネージャでHelloCmd.pyをロードします。

スクリプトエディタでhelloコマンドを実行すると

コンソールにHello World!! が表示されました。

f:id:toncrimentan_w:20170203032512j:plain