こんにちは!ビーバー@ゲーム業界歴約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コマンド名() の書式で実行します。
この書式の意味は、冒頭の「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、ってサブストリング検索してみるといいのかな?
そのとおり!
まとめ
今回学習した内容のポイントをまとめます。
この回では、コマンドの実行、ヘルプの見方を学びました。
次回はスクリプトからリネーム、duplicateをすることを通して学習を進めたいと思います。
オススメの本。pythonが楽しく学べます☆
コメント