2009年4月28日 (火)蛇使い
おはようございます。本日の当番、モーションデザイナーのR.Iです。
会社にも新たに後輩が入り、お手本として意識しないといけない立場になりました。
新人ではなくなったとはいえ、技術的にもまだまだヒヨっ子なので、安心はできませんが・・・
さて今回は蛇の話ではなく、Python(パイソン)についてのお話です。
Pythonを翻訳するとニシキヘビになるそうですが、スクリプト言語の一つに
Pythonというものがあります。
会社では主にXSIを使ってますが、面倒な作業に直面した時にはXSIが扱える
スクリプト言語を使って、作業効率をあげるようにしていました。
以前はVBScriptを使ってスクリプトを組むことが多かったですが、
最近はPythonに乗り換えるため、勉強中です。
乗り換えようと思った理由は
「自分が扱えるソフトのスクリプト言語がPythonだったから」です。
今使っているXSIの他に、学生時代使っていたMayaなどPythonが使われていました。一つ覚えて二度おいしいなら嬉しいことですね。
まだ、大した事はできませんが、Pythonの特徴とかを書きたいと思います。
app = Application
for px in range(-1,3,2):
for pz in range(-1,3,2):
oCube = app.CreatePrim("Cube","MeshSurface")
app.SetValue(oCube.name+".Cube.length",2,"")
oCube.posx = px
oCube.posy = 1
oCube.posz = pz
oCube = app.CreatePrim("Cube","MeshSurface")
app.SetValue(oCube.name+".Cube.length",2,"")
oCube.posy = 3
このスクリプトをPython環境のあるXSIで実行すると
簡単なピラミッドができます。
文中にはPythonの命令文とXSIの命令文があります。
「for」「in」「range」はPythonの命令文
「Application」「ActiveSceneRoot」「AddNull」「posx」はXSIの命令文
今回はPythonの命令文をレッド
XSIの命令文をブルーにして色分けをしておきます。
1行目のapp = ApplicationはappにApplicationという文字列を代入してます。
これ以降、Applicationという文字列はappという文字列で代用できるようになり
1行の文字数を短くすることができます。
2行目のforは繰り返し処理をするための命令文です。
for以下の行を繰り返し処理してくれます。
ここでPython特有の書式として
for文で処理してほしい行はインデントしてあげないとエラーがでます。
for文以降は必ずインデントしてあげましょう。
range(-1,3,2)は回数の制御をしています。
rangeは数字の羅列を生成する命令文です。
括弧内の一番目の数字が初期値、二番目が文字の生成数(-1~2を生成)、三番目の数が処理が一回終わるたびに
pxの変化量を表します。
考え方としてはpxが3未満の間、処理を繰り返すになります。
inはpxに代入するための命令文です。
4行目のoCube = app.CreatePrim("Cube","MeshSurface")で立方体を作成してます。
5行目のapp.SetValue(oCube.name+".Cube.length",2,"")
oCube.nameで今、作成された立方体の名前を取得します。
その立方体のサイズを2にしています。
6、7、8行目で座標の指定をします
oCube.posx = px
oCube.posy = 1
oCube.posz = pz
X軸の座標がpx、Z軸の座標がpzによって制御されています。
Y軸は変化しないため、定数として1を代入しています。
ここまでの処理でピラミッドの1段目が完成します。
あとは残りの処理で
oCube = app.CreatePrim("Cube","MeshSurface")
app.SetValue(oCube.name+".Cube.length",2,"")
oCube.posy = 3
原点にもう一つ立方体を作成し、座標をY軸の値を2にしてやれば
ピラミッドの完成です。
スクリプトとして機能させるには、まだまだ先は遠そうですが、
「オブジェクトの名前が取得できた」→「名前が取得できたということは指定した
ものだけに処理を適用するスクリプトができるな~」など始めは簡単なものから
スタートしてどんどん発展させていけばいいと思います。
使いこなせれば確実にレベルアップできる知識だと思うので、
モーションの事が疎かにならない程度に学んでいこうと思います。
| 固定リンク | コメント (0) | トラックバック (0)
「モーションデザイナー」カテゴリの記事
- この頃 流行りの…(2019.02.28)
- たまには乗らんとね(2019.01.17)
- コミュニケーションを語る!(2018.11.22)
- 12個のアニメーション基本原則とは?(2018.10.11)
- 新人研修を終えて(2018.09.06)
この記事へのコメントは終了しました。
コメント