3DCGbook

映像プロダクションに所属しています。主に毎日のアウトプットを配信していこうと思います。

スクリプトが苦手な方にオススメ!PyMEL講座1(リネームから始めよう編)

前回、このような記事を書きました。

それで何が言いたいかと…。
スクリプトが苦手な方にとってはPyMELは一つの強力なツールになるということです。

これをどうしても伝えたい!
どうしよう!
じゃあ自分のブログで勝手にやろう!
というので勝手に始めます。

まずはMayaでPyMELというのを使ってみましょう。
特にPythonがどうとかは説明しません。

実行してみて、結果が返ってくる…これがスクリプトの楽しみです。
実行して本当にそうなると楽しいですよね!そうなることが大事です。
気難しいことは後で覚えましょう。

PyMELを使える準備をします。

では、初めのステップとしてPyMELを使える準備をします。
MayaのメニューからWindow -> General Editors -> Script Editor を立ち上げ
Pythonタブに以下のコードを書き実行します。

import pymel.core as pm

実行とはなんぞやという方に、
f:id:blendcomp:20150117014907j:plain

これで一文だけ実行できます。

この実行でPyMELが使えるようになりました!

選択したノードの名前を変えてみよう!

スクリプトを書くときに大事なのは、最初に仕事量を考えることです。
手でやった方が早いものも多々ありますからね。

まず普段マウスを使って「ノードの名前を変える」という手続きを考えてみましょう。

1. ノード(pCube1)を選択する
2. チャンネルボックスを開く
3. チャンネルボックスから名前を変える("pCube1"から"cube_poly"に変更します。)

といった手続きが考えられると思います。
※もちろん他にも名前を変える方法はあります。

いろいろ省くと、
1. ノードを選択する
2. 名前を変える

となります。

さて、これをスクリプトにしてみましょう。

import pymel.core as pm

# 1.選択したノードを取得する。
nodes = pm.selected()

"""
PyMELのコマンドを使うには pm というのを先につけます。

pm.selected()というのは
現在選択しているものを"nodes"という入れ物の中にいれるコマンドです。

例えば、pCube1、pCube2の二つを選択して以下のコードを実行すると
nodesの0番目に pCube1 が入ります。(nodes[0])
nodesの1番目に pCube2 が入ります。(nodes[1])
"""

# 2.名前を変える
nodes[0].rename("cube_poly")

PyMELだとこんな感じになります。
どうでしょう?説明文を無くすと今回やったのは

import pymel.core as pm
nodes = pm.selected()
nodes[0].rename("cube_poly")

これのみです。
PyMELはコマンドの名前がわかりやすいので、
スクリプト苦手な方でも入りやすいのではないでしょうか。

まずは初めの一歩のリネームから是非試してみてください。

次は値の取得と設定周りをやってみようかなと思います。