📃

MayaでPythonを使ってみよう!

2024/08/07に公開

こんにちはkazinosです。

Mayaの操作で繰り返し行う作業や、大量のオブジェクトを一括で操作したいなど、メンドクサイ作業ってありますよね。

MayaにはmelやPythonを使ってプログラムを実行できる事は知ってるけど、やったことないし、そもそもどうやって実行するのか分からない…という人向けに、Mayaでのプログラムの始め方を書いて行こうと思います。
※今回はmelには触れず、Python主体に記載を行っていきます。

まず手始めに、どうやって動作させるのか?から始め、軽く動かしてみる所までやってみましょう。
この記事をきっかけに、ぜひプログラムを始めて作業の効率化にチャレンジしてみてください!

環境

Autodesk Maya2024.2
※別のバージョンでも基本的に同じ操作が可能です。

どこにプログラムを書けばいいの?

なにはともあれ、プログラムを実行できる場所が分からなければ始まりません。
MayaでPythonを記述・実行するにはスクリプトエディタを使用します。

スクリプトエディタを起動する方法は主に2つあります。

  1. ウインドウ>一般エディタ>スクリプトエディタから開く
  2. 画面右下の{;}のアイコンをクリック

起動すると以下のような画面が表示されます。

主にこの画面で覚えておきたい事は以下の通りです。

  1. 画面の上側の枠に実行結果が表示される
  2. 画面の下側の枠にmelやPythonのコードを記述する
  3. 画面上の枠の形をしたアイコンで表示をリセットしたり、非表示ができる
  4. mel用のタブとPython用のタブがある
  5. 画面上の▲アイコンで実行できる

他にもいろんなアイコンや機能がありますが、話が長くなるので一旦置いておきます。
画面が表示できたら実際にプログラムを書いていきます。

「Python」を実行してみよう

「Python」と強調していますが、ここでは一旦Mayaの操作は忘れて「とりあえずプログラムを動かす」所から初めてみましょう。

流れとしては以下の順で進めていきます。

  1. Pythonを書く準備
  2. 実際に書いてみる
  3. 実行して、結果を見てみる

実際に操作できる環境の方は順に操作をしてみると良いでしょう。

1.Pythonを書く準備

MayaではmelとPythonという別々の言語でブログラムを書く事が出来ます。
Pythonを使用するにはPython用のタブを作る必要があります。
実際に作ってみましょう。

  1. 画面中央にある+マークをクリックして新しくタブを作成
  2. ソースタイプを聞かれるのでPythonを選択
  3. 新しいタブが作成される

これでPythonを記述する準備ができました。
次は実際にコードを書いてみましょう。

2.実際に書いてみる

始めてプログラムを書く時の慣習に倣って、文字を表示するプログラムを書いてみましょう。
コードの内容はこちら▼

print("Hello World")


【ざっくり解説】
print()というPythonのコマンド(命令文)を使うと()の中身に記述した内容を表示させることが出来ます。
・文字の両脇にくっ付いているは「”で囲ってる範囲は文字として扱ってね~」という意味になります。(windowsではShift+2で入力できます)

Pythonの細かい話はいろんな記事やサイトで解説されていますので、ここでは「へ~そうなんだ」程度に思って頂ければと思います。

上図のように文字が入力できたら、実際に実行してみましょう!

3.実行して、結果を見てみる

っとその前に。
実行する方法なのですが、実は2通りあって、動作が異なります。

① 画面上の▲マーク(1つ)を押す または Enterキーを押す
この方法でPythonを実行すると、記述したプログラムは実行後、消えてしまいます。
一時的に実行したいプログラムであれば問題ないですが、何度も使いたい場合は使用しない方が良いでしょう。

② 画面上の▲マーク(2つ)を押す または 実行範囲を選択してCtrl+Enterを押す
こちらの方法では、実行した後もプログラムが残ってくれます。
実行範囲をドラッグして指定する必要がありますが、もう一度プログラムを記述する手間に比べたら大した問題ではないので、こちらを使用する事をオススメします。
また、テンキーがあるキーボードをお使いの方は、テンキーのEnterでもCtrl+Enterと同様の結果になります。

※選択範囲を指定せずにCtrl+Enter(またはテンキーのEnter)をした場合は①の挙動と同じく記述したプログラムが消えてしまいますので注意してください。
もし消えてしまったとしてもCtrl+Zで戻す事ができますので、焦らずに戻してあげましょう。

・・・

前置きが長くなりましたが、いざ実行してみましょう!

上図のように表示されれば成功です!上手くいきましたでしょうか?

もしエラーが発生してしまったとしても焦らなくて大丈夫です。
もう一度2.実際に書いてみるの項目に戻ってプログラムを確認してみてください。
・大文字小文字は間違っていないか?
・行の先頭に余計な空白はないか?
・全角で入力していないか?

エラーの内容を確認すると、より問題が解決しやすくなるので一度確認してみましょう。
(エラー文は味方、怖くなーい!)

# Printなんてコマンド無いよー?(Pが子文字になっていない)
# エラー: NameError: file <maya console> line 1: name 'Print' is not defined

# 使えない文字が入ってるよー!その1(空白が入っている)
# エラー: invalid non-printable character U+3000

# 使えない文字が入ってるよー!その2("が大文字になっている)
# エラー: invalid character '”' (U+201D)

などなど…

無事「Hello World」と表示が出来た人はおめでとうございます!
これで作業の効率化に一歩近づきました!
ここからPythonを学んでいけば、Mayaの自動操作や、外部ファイルを参照してデータを修正したり、チェックを自動化したりすることができます。
もっと詳しい事が知りたい方は後述の参考リンクや動画サイトなどにも情報があるので、ぜひ調べてみてください!

まとめ

今回の記事では「とりあえずMayaでPythonを使ってみる」という事にフォーカスして基礎的な事を記述してみました。
始めてスクリプトエディタに触る人でも分かるように書いてみましたが、気になる点があればコメントなどでご意見いただければと思います。

参考リンク

▼公式ドキュメント:Pythonの項目
https://help.autodesk.com/view/MAYAUL/2024/JPN/index.html?guid=GUID-703B18A2-89E5-48A8-988A-1ED815D5566F

▼公式ドキュメント:Maya用のPythonコマンドリファレンス
https://help.autodesk.com/view/MAYAUL/2024/JPN/index.html?guid=__CommandsPython_index_html

Discussion