« 魂のソウルフードはど○ど○焼き | トップページ | 外へ落ちる »

2016年1月29日 (金)新しいツールで蛇使い 其の参

おはようございます。本日の当番、モーションデザイナーのR.Iです。

最近、仕事でツールを作成した後、他の人が使用しやすい形にして、社内に公開する機会が増えました。

その後、他のスタッフから「こういう時はこう処理してほしい」などの要望があったりします。
今回はスクリプト内の「こういう時は~」についてお話させていただきます。

スクリプト内で「こういう時は~」を判断する場合はif文を使ったりしますが、要望の中には「Mayaが起動した時」や「シーンファイルを開いた時」など、スクリプトの処理中に判定がとりにくいものもあります。
スクリプト内で「シーンファイルを開く」という処理があって、フラグを設定したりした場合はif文でもいけますが、スクリプトが終了してしまうと以降は判定できません。

そんなMayaに依存する判定を取るのに便利なコマンドとして「scriptJob」というコマンドがあります。

サンプルスクリプトは以下になります。

import maya.cmds as cmds

def test():
    print "Opened Scene."

cmds.scriptJob(event=("SceneOpened", 'test()'))

scriptJobコマンドには他にも色々な引数がありますが、上記の場合はMayaが定義しているイベントを指定し、それが実行されたら指定した関数を実行するというものです。
「"SceneOpened"」がMayaが定義しているイベントで「シーンファイルを開いた時」となります。
testという関数は「Opened Scene.」というメッセージを表示するという内容ですので、シーンファイルが開かれる度にメッセージが表示されるスクリプトとなります。

書式としては以下になります。
cmds.scriptJob(event=(Mayaが定義しているイベント「文字列」, 実行したい関数名「文字列」))

scriptJobコマンドについての詳しい説明はドキュメントをご確認ください。

この処理自体は単純なものですが、細かいイベントの情報を取得できるようになることで、シーンファイルを開いた時に特定の設定をしたりと色々なことに応用できると思います。
そんな可能性を妄想しながら、もう少し調べてみます。

それでは、また。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2016/01/post-6025.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 魂のソウルフードはど○ど○焼き | トップページ | 外へ落ちる »

モーションデザイナー」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 新しいツールで蛇使い 其の参:

« 魂のソウルフードはど○ど○焼き | トップページ | 外へ落ちる »