過去2回のセミナーの再配信が終了しました。
ご視聴いただいたみなさま、大変ありがとうございました!
引き続きMaya Pythonを学習される方にとって役立つ情報を発信していきますので
今後ともどうぞよろしくお願いいたします。

ツール作成の全体フローを最短距離で体験できます。スクリプト未経験の方におすすめ!
https://tutorials.cgworld.jp/set/2050

Mayaのオペレーションの自動化について徹底解説。様々な操作を自動化できるようになります
https://tutorials.cgworld.jp/set/2041
こんにちは!ビーバー@ゲーム業界歴約20年 です。
maya python初心者の方のために、カンタン・わかりやすい解説サイトを作っています。
maya pythonの学習情報って少ないですよね。(最初のころは本当に苦労しました。。)
自分が骨を折った経験をもとに、
maya python基礎を最速で習得できる10回のチュートリアル
を作ってみたので参考にしていただければ幸いです。
今回は、2回目。文字列の表示とshpereの作成からpythonの始め方を学びます。

※当サイトで紹介する商品は、アフィリエイトプログラムを利用しています。
スクリプトを始める前の準備
最初にpythonからmayaコマンドを呼び出せるようにおまじないをします。
scriptEditorを起動して、下記のように入力しましょう。
from maya import cmds
これは、mayaライブラリ(関数という処理の集まり)の「cmds」を読み込むという宣言です。
mayaでのpythonスクリプティングは、いつもこの1行から始まると覚えておきましょう。
実行の仕方は、この1行をハイライト選択して、ctrl + Enter です。


何も起こらないよ?

何かが返ってくる処理ではないからだね。
mayaはちゃんと認識しているから次に行ってみよう。
printコマンドで文字列を表示しよう!
Hello,Worldの表示
次に以下のように書いて、ctrl + Enter で実行しましょう。
print("Hello,World")
scriptEditorのヒストリに実行結果が表示されました。

実行したスクリプトの後に、実行結果という形で表示されます。
黄色□が実行したスクリプト、赤□で囲った部分が実行結果になります。
print()はpythonのコマンドで、「表示する」というコマンドになります。
表示させる内容は()の中に記入します。今回のように文字列を表示したい場合は、
文字列を「”」ダブルクオーテーション、もしくは「’」シングルクォーテーションで囲います。
たとえば、
print("こんにちは")

「こんにちは」と出力されます。()の中身が文字以外だと、こんなこともできます
print(1+1)

()の中身を文字列でなく計算式にしてみました。結果は2で返ってきています。

()のなかで計算もできるんだね!

print()でいろいろ出力できるけど、まずは文字列の表示を覚えると便利だよ!
sphereの作成
次はsphereをスクリプトで作成してみましょう。以下のように入力して実行します。
cmds.polySphere()

sphereが作成されました!オブジェクトの名前は「pSphere1」になっています。
今度はpythonからmayaコマンドを呼び出して使っています。GUIから使っているrenameとか、duplicateとかいつものアレですね。
mayaコマンドを呼ぶときは、cmds.mayaコマンド名() の書式で実行します。
cmds.mayaコマンド名()
この書式の意味は、冒頭の「from maya import cmds」で読み込んだcmdsライブラリの中の
「mayaコマンド名」を実行という意味になります。

cmdsの中のsphereコマンドを実行、ということなんだね。
後ろの()は何も入ってないからいらないかな。
cmds.polysphere っと。これで良し!

ちょっと待ったー-!
「polySphere」の後ろの()は何も入っていなくても記入が必要だよ!

え、、そうなの?
pythonは、コマンド名の後ろの()までを含めてコマンドとして認識します。
()の中にはオプション設定に当たるものが入るのですが、
()だけの場合はデフォルトの設定で実行する、という意味になります。
オプションを設定する場合は、()の中にフラグというものを記入します。フラグについては
【maya python3限目】スクリプトからリネーム、duplicateしてみよう
で詳しく解説します。

sphereの作成以外にもいろいろやってみたいけど、
pythonのmayaコマンドはどうやって調べればいいの?

じゃあ次はヘルプの見方を紹介するよ!

ヘルプの見方
ヘルプの見方を覚えてコマンドとヘルプを使いこなしましょう!
pythonコマンドのヘルプは テクニカルドキュメント>pythonコマンド の中にあります。

pythonコマンドのページに入ると、下記のようなコマンド一覧が出てきます。
数が多すぎるので、左上の「サブストリングで検索」で絞りこみましょう。

polySphereを例に見ていきます。polysと入力すると、合致するコマンドが左側に表示されます。

polySphereを選択します。画面右下のブロックに、polySphereコマンドの詳細が出てきます。


例えばアニメーションのキーをスクリプトで操作したいとかそういう場合は、
key、ってサブストリング検索してみるといいのかな?

そのとおり!
まとめ
今回学習した内容のポイントをまとめます。
- 最初にpythonからmayaコマンドを呼び出す「from maya import cmds」
- スクリプトの実行は「実行したい部分をハイライト選択して、ctrl + Enter」
- pythonコマンド print()は、()の中に文字列などの情報を表示するコマンド
- 文字列は「””」ダブルクオーテーション、もしくは「”」シングルクォーテーションで囲う
- cmds.「mayaコマンド名」() でmayaコマンドを実行
この回では、コマンドの実行、ヘルプの見方を学びました。
次回はスクリプトからリネーム、duplicateをすることを通して学習を進めたいと思います。
本サイトの【まとめ】 maya python 基礎 入門!では、
10回シリーズでmaya pythonの基礎が習得できるコンテンツを発信しています。
- ちまたのスクリプトを読んで、内容を理解したい
- mayaのスクリプトリファレンスの読み方を習得したい
- 自分で簡単なツールを書きたい
- 基礎的なmayaコマンドをpythonで使えるようになりたい
など、mayaでpython基礎を身に着けたい方は、ぜひご活用ください♪
オススメの本。pythonが楽しく学べます☆

コメント