こんにちは、mihiです。
MODOのPythonスクリプトの書き方について入門的な内容を、
私自身はプログラミングの素人ではありますが、
順を追って複数回に分けて解説していこうと思います。
デザイナーであっても、若干のスクリプトを書ける知識があると、
表現の幅もぐっと広がると思いますし、作業の効率化にもつながると思います。
Pythonの知識が全くなくても、スクリプトを書けるようになって頂けるよう、
何回かに分けて、超初歩からの解説をしていこうと思います。
どうぞよろしくお願いたします<(_ _)>
※最新のMODO15ではPythonのバージョンを2.7と3.7とで切り替えれますが、
この解説ではPythonのバージョンは2.7で解説していきます。
最低限の必要な知識について
MODOでPythonスクリプトを書くにあり、まず最低限必要な知識として、
- 変数
- 関数
この2種類の理解が必要です。
では早速「変数」から紹介していきましょう。
変数
「変数」とは、何か「値」を記憶しておく「入れ物」と考えるとよいでしょう。
「値」とは、数値であったり文字であったりとその種類は様々です。
スクリプトを書く上で「変数」は多用します。
MODOのスクリプトの実例で紹介すると、
たとえば、頂点の位置の情報を記憶させておく場合や、
メッシュレイヤーの名前を記憶させておく、などといった場合がよくあります。
「変数」をがあることで、マクロのような「記録した手順を、ただただ繰り返す処理」という操作から、
「値を変更しながら繰り返し処理をする」ということも可能になります。
ここがマクロとスクリプトの多きな違いです。
文章ではイメージが湧かないと思いますので、実際にスクリプトを書いて「変数」を体験してみましょう。
「MODO」のメニューバーより「レイアウト」→「レイアウト」→「スクリプト」として、
スクリプトを書くために最適化されているレイアウトに切り替えます。
赤枠で囲った部分がスクリプトエディタとなっていて、
ここにスクリプトを記述していきます。
変数の宣言
変数とは、「何か値を記憶しておく入れ物」と先ほど述べましたが、
入れ物は事前に自分で用意してあげる必要があります。
この入れ物を用意することを「変数の宣言」といいます。
では変数を宣言してみましょう。
スクリプトエディタに次のように記述します。
a = 1
これで変数の宣言ができました。
この場合「a」という名前の変数を宣言し、同時に「1」という「値」を変数「a」に記憶させています。
「1」という「値」を変数「a」に記憶させることを、代入といいます。
Pythonは原則、変数を宣言する際には基本的に値も同時に代入するというルールがあります。
変数は自分の好きな名前を使って宣言することが可能ですが、
日本語を使ったり、数字から始まる名前は使用できません。
また、Pythonがあらかじめ使用している名前(予約語といいます)も使用できません。
後述の関数の名前などが予約語に当たります。
こういった名前の変数を宣言するとエラーとなるので気を付けてください。
わかりやすくてユニークな名前を付けるとよいでしょう。
ダメな例:
あ = 1
1a = 2
print = 3
以上のような変数の宣言はすべてアウトです。
では、もう一つ変数を宣言してみましょう。
a = 1
b = 2
今回は「b」という変数を宣言し「2」を代入しました。
変数同士は計算することが可能です。
そこで、次のように追記してみましょう。
a = 1
b = 2
c = a + b
こうすると変数「c」を宣言すると同時に、
変数「a」+変数「b」の答えが、変数「c」に代入されます。
当然答えは「3」で、変数「c」には「3」が代入されているのですが、
変数「c」に「3」が代入されているのか、確認の仕方がわかりませんね。
そこで、「関数」の登場です。
関数とは
関数というのは、簡単に言えば「何かしらの処理をするための機能」だと思ってください。
Pythonには便利な機能(関数)がたくさん用意されていますし、
関数を自分で作成することも可能です。
ここでは、先ほどの変数「c」の中身が何なのかを知りたいので、
「print」関数を使用したいと思います。
では、次のように追記します。
a = 1
b = 2
c = a + b
print c
「print」と「c」 の間にはスペースを1つ入れてください。
「print」関数は変数の中身を表示したい時に便利な関数です。
上記の通りに追記したら、クスリプトエディタの以下に図示したボタンを押して、
スクリプトを実行してみましょう。
#Result:の下に「3」と表示されているはずです。
「print」関数によって、変数「c」の中身を表示できました。
変数「a」や変数「b」へ代入する値を変えてみたり、
「c = a + b」 の部分を「c = a – b」や「c = a * b」などと変更してみて、
変数「c」の値の変化の挙動を確認してみてください。
余談
中学校の数学で「y = ax + b」なんていう一次関数があったのを覚えていますか?
この場合、yもaもxもbも、すべて変数と言えます。
具体的にどんな数字が入るかわからないので、とりあえず文字式にしておくというやつです。
a = 2
x = 4
b = 6
とした場合、y = 2 * 4 + 6 となり、y = 14 となりますね。
「ax + b」 の部分を計算して、変数「y」に代入したと言えます。
同じことをPythonで書くとすると、
a = 2 #変数「a」の宣言
x = 4 #変数「x」の宣言
b = 6 #変数「b」の宣言
y = a * x + b #変数「y」の宣言と同時に計算結果を代入
print y #変数「y」の値を表示
として、一次関数を解くことができます。
今回はここまでです。
変数を宣言し、値を代入する。
print関数で変数の値を確認する。
初めの第一歩としての解説でした。
ではまた次回!