前回Pythonの大まかな説明をしました。
小難しいことが嫌いな人向けのMaya/Python入門①~Python編~
今回は準備編ということで、Mayaでのスクリプト記述方法や勉強方法などを紹介していきます。
コンテンツ
スクリプト作成時の基本的なMaya操作
スクリプトエディタを開く
Mayaの右下にエディターマークがあるので押すとスクリプトエディタが起動します。
スクリプトエディタの基本操作
- 下部ペインにスクリプトを記述します。
- 下部ペインにはMELタブとPythonタブがあるので後者を選択します。
- 上部の三角マークでスクリプトを実行します。
- 下部ペインには「実行したスクリプト」・「print文の結果」・「エラー結果」が表示されます。
- 上部ペインは実行の度に表示が連なっていき分かりづらくなるので、上部のボタンでクリアする
ちなみに、下部ペインのタブは「+」タブを選択することで「MEL」または「Python」のタブを増やすことができます。書き途中のコードとは別に試験的なコードを作成し上手くいったら書き途中のコードに組み込んだり、参考のスクリプトを置いておいて一部コピペするなどに使えます。
また、公式のMaya HelpのPythonコマンドリストには必ず記述例が載っているので、コマンドの使い方を確かめるのによく使います。
スクリプトの保存
スクリプトエディタのFile→Save scriptでpy形式で保存できます。
エディタに記述したスクリプトは、Mayaを落としても起動時に残っていることもありますが、複数立ち上げたMayaの落としたタイミングなどで保存されないこともあります。保存してなかったとして落とすときに確認のダイアログもでないので要注意です。
Maya Pythonスクリプトの基本的な自習方法
ここでもスクリプトについての記事を書いていこうと思いますが、一番大事なのは自習方法を知ることだと思います。
基本的にはネットで調べながら
Pythonについては、ネットで調べればたくさんサイトがあり、基本的なことから詳細な事例までいろんなことが知れますし、mayaの機能を使うための関数なども公式のサイトにすべて載っています。
Pythonについて完璧に頭にインプットしてから書き始めるより、「こういうものを作りたい」というイメージを持ちながらそれに関するPythonの文法やMayaの関数を調べていった方が最短で効率的に学ぶことができると思います。
一番簡単そうなPython入門書1冊を買ってみる
上で書いた通り基本的にはネットで調べれば情報は足ります。ただそもそもPythonってどんな感じで書くの?どんな概念があるの?ということがわからなければ調べようがありません。
一番効率的なのは1冊入門書を買ってみることです。本であれば一通りの概念が説明されているので、じっくりでもいいしパラパラ~でも目を通しておけば、「あ、こういうことも出来たんだ~」ってこともなくなります。
私のオススメは「みんなのPython」です。
手動で出来ることはスクリプトでも出来る
MayaでPythonスクリプトを書いてみるといってもそもそも何ができるのわからなければ何から手を付けていいかもわかりません。そこで大切な考えが、
「手動で出来ることはスクリプトでも出来る」
と
「手動でやっていたことをスクリプトにやってもらう」
です。
Maya上のほとんどのツールはプログラム上で関数としてその機能を使うことができます。
今まで手動で行ってきた手順1~10をスクリプトにやらせたら楽なんだろうな~というところから始まり、「じゃあ、このツールの関数は?」と公式のドキュメントを探していけば、自ずと作り始めることができるはずです。
ネットに公開されているスクリプトを参考にすると早い
海外だけでなく日本サイトでも自作のスクリプトを無償でアップしている人がいます。
私の感覚ですが、完成された他人のスクリプトを観察するのが一番早いです。むしろ最初の一歩としてこれがないとかなり長い道のりになるといっても過言ではありません。
Mayaで目的の処理結果を出すにはどのようなデータが必要で、そのデータを取得するにはどの関数が必要で、データはどのような形式でどのように渡せばいいのかなど・・・
公式のドキュメントに関数は一通り載っていますが、数が多いのでどんな関数があるか一つ一つ調べていたら、いつまでたってもスクリプトは完成しません。
私の場合、勉強のために初めて作ろうとしていたスクリプトと似た処理をするスクリプトをたまたま見つけ、半月くらいで完成させることができました。また、その中には今後にも応用できる処理があったので、2個目3個目と作成するのにさほど時間がかかりませんでした。
Maya関数を調べる方法
まずgoogleで検索し「Maya ヘルプ – Autodesk Help」を開き、[テクニカルドキュメント]→[Pythonコマンド]を開きます。
並んでいる英字がMayaの関数です。
関数のリンクを選択するとその関数の概要や戻り値、フラグ(引数のこと)の種類と説明などが掲載されています。
ページの一番下にはその関数を使用したプログラム例が載っているので、ぱっと見何をする関数かわからないときはコピペで実行してみるといいかもしれません。
まとめ
とりあえず、本題に入る前に基本的な操作方法やついでに勉強方法を説明させて頂きました。次回は実際にプログラムを書きながら説明をしていきます。