【maya python2限目】スクリプトでHello worldを表示しよう、sphereを作ってみよう

mayapy02 python入門
過去セミナー再配信のお知らせ

過去2回のセミナーが期間限定でアンコール配信中です!
「MayaPython習得に苦しんだ過去の自分に教えてあげたい。。」調べてもわからなかったこと、教えて欲しかったことを、とことん詰め込みました。初心者の方はぜひご覧ください!

ツール作成の全体フローを最短距離で体験できます。スクリプト未経験の方におすすめ!
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のprintコマンドで文字列を表示する方法
  • sphereをスクリプトから作成する方法
  • mayaヘルプ(スクリプトリファレンス)の見方

>> Pythonの勉強方法を知りたい方はこちらをどうぞ

※当サイトで紹介する商品は、アフィリエイトプログラムを利用しています。

スクリプトを始める前の準備

最初にpythonからmayaコマンドを呼び出せるようにおまじないをします。
scriptEditorを起動して、下記のように入力しましょう。

from maya import cmds

これは、mayaライブラリ(関数という処理の集まり)の「cmds」を読み込むという宣言です。
mayaでのpythonスクリプティングは、いつもこの1行から始まると覚えておきましょう。

実行の仕方は、この1行をハイライト選択して、ctrl + Enter です。

scriptEditor
ピヨちゃん
ピヨちゃん

何も起こらないよ?

ハムちゃん
ハムちゃん

何かが返ってくる処理ではないからだね。

mayaはちゃんと認識しているから次に行ってみよう。

printコマンドで文字列を表示しよう!

Hello,Worldの表示

次に以下のように書いて、ctrl + Enter で実行しましょう。

print("Hello,World")

scriptEditorのヒストリに実行結果が表示されました。

scriptEditor

実行したスクリプトの後に、実行結果という形で表示されます。
黄色□が実行したスクリプト、赤□で囲った部分が実行結果になります。

print()はpythonのコマンドで、「表示する」というコマンドになります。
表示させる内容は()の中に記入します。今回のように文字列を表示したい場合は、
文字列を「”」ダブルクオーテーション、もしくは「’」シングルクォーテーションで囲います。
たとえば、

print("こんにちは")
scriptEditor

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

print(1+1)
scriptEditor

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

ピヨちゃん
ピヨちゃん

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

ハムちゃん
ハムちゃん

print()でいろいろ出力できるけど、まずは文字列の表示を覚えると便利だよ!

sphereの作成

次はsphereをスクリプトで作成してみましょう。以下のように入力して実行します。

cmds.polySphere()
scriptEditor

sphereが作成されました!オブジェクトの名前は「pSphere1」になっています。
今度はpythonからmayaコマンドを呼び出して使っています。GUIから使っているrenameとか、duplicateとかいつものアレですね。

mayaコマンドを呼ぶときは、cmds.mayaコマンド名() の書式で実行します。

mayaコマンドの呼び出し方


cmds.mayaコマンド名() 

この書式の意味は、冒頭の「from maya import cmds」で読み込んだcmdsライブラリの中の
「mayaコマンド名」を実行という意味になります。

ピヨちゃん
ピヨちゃん

cmdsの中のsphereコマンドを実行、ということなんだね。

後ろの()は何も入ってないからいらないかな。

cmds.polysphere っと。これで良し!

ハムちゃん
ハムちゃん

ちょっと待ったー-!

「polySphere」の後ろの()は何も入っていなくても記入が必要だよ!

ピヨちゃん
ピヨちゃん

え、、そうなの?

pythonは、コマンド名の後ろの()までを含めてコマンドとして認識します。
()の中にはオプション設定に当たるものが入るのですが、
()だけの場合はデフォルトの設定で実行する、という意味になります。

オプションを設定する場合は、()の中にフラグというものを記入します。フラグについては
【maya python3限目】スクリプトからリネーム、duplicateしてみよう
で詳しく解説します。

ピヨちゃん
ピヨちゃん

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

ハムちゃん
ハムちゃん

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

ヘルプの見方

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

maya help

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

maya help

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

maya help

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

maya help

コマンドを探すときは、GUIから実行するmayaコマンド名を参考に
検索してみるとよいでしょう。

ピヨちゃん
ピヨちゃん

例えばアニメーションのキーをスクリプトで操作したいとかそういう場合は、

key、ってサブストリング検索してみるといいのかな?

ハムちゃん
ハムちゃん

そのとおり!

まとめ

今回学習した内容のポイントをまとめます。

学習のポイント
  • 最初にpythonからmayaコマンドを呼び出す「from maya import cmds
  • スクリプトの実行は「実行したい部分をハイライト選択して、ctrl + Enter
  • pythonコマンド print()は、()の中に文字列などの情報を表示するコマンド
  • 文字列は「””」ダブルクオーテーション、もしくは「”」シングルクォーテーションで囲う
  • cmds.「mayaコマンド名」() でmayaコマンドを実行

この回では、コマンドの実行、ヘルプの見方を学びました。
次回はスクリプトからリネーム、duplicateをすることを通して学習を進めたいと思います。

はじめてpython学習するなら!

はじめてプログラミングを勉強するとき、エラーはつきものですよね。
何時間もスクリプトが動かないこともしばしば。。
そんな時、くわしい人に教えてもらいたい、と思うことはありませんか?

侍テラコヤは、はじめてpythonを学習する方にピッタリのサービスです。
サブスク型オンラインスクールで、月¥2980~の良心的なお値段!

現役エンジニアのサポートが充実しており、
オンラインのマンツーマンレッスンとQ&A掲示板で即座に悩みを解決することができます

maya python基礎

本サイトの【まとめ】 maya python 基礎 入門!では、
10回シリーズでmaya pythonの基礎が習得できるコンテンツを発信しています。

  • ちまたのスクリプトを読んで、内容を理解したい
  • mayaのスクリプトリファレンスの読み方を習得したい
  • 自分で簡単なツールを書きたい
  • 基礎的なmayaコマンドをpythonで使えるようになりたい

など、mayaでpython基礎を身に着けたい方は、ぜひご活用ください♪

オススメの本。pythonが楽しく学べます☆

コメント

タイトルとURLをコピーしました