ON-BLOG

CGのこと、あれこれ書いてます。

【覚書】maya python入門 其の二

続いて値の設定について書いていきたいと思います。
SIと同じで、アトリビュートのGET,SETValueがあるみたいなんですが
値の設定だけならもっと簡単にできそうです。
今回はまず、SET側からみていきましょう。

import maya.cmds as cmds
cmds.polyCube( n='Cube_Move' )
cmds.move( 5, 1, 1 )

f:id:tommy_on:20150614162941p:plain

とてもシンプルな内容ですね。
立方体を作成して、移動しているだけです。
ただこれSIと少し違ってトランスフォームについて書くわけではなく
「move」と大きく括って書くんですね。
※もちろんトランスフォーム指定して、移動させることも可能です。
とてもシンプルに思いました。
ではここからカスタムしていきたいと思います。

初めに移動したので、キーを打ってみたいと思います。
コードはこんな感じ。

import maya.cmds as cmds
cmds.polyCube( n='Cube_Move' )
cmds.move( 5, 1, 1 )
cmds.setKeyframe()

f:id:tommy_on:20150614163235p:plain

すごくシンプルにキーが打てます。

setKeyframe()

これがキーを打つコマンドになります。
ただ、正直個人的には、パラメータ全体にキーが打たれますよね。
これだと、Fカーブエディタ(グラフエディタ)が汚くなります。
個人的に超絶これが嫌いなので、このままだと使うきすらありません笑

私みたいに、「必要なパラメータだけ打ちたい!」
こんな時はフラグを色々触るといいです。
setKeyframe コマンド

結構ありますね。。
個人的に、見ていって「レイヤー指定」ができるのは少し楽しみかも。



では、今回は移動のXパラメータを指定してみましょう。
こんな感じ。

import maya.cmds as cmds
cmds.polyCube( n='Cube_Move' )
cmds.move( 5, 1, 1 )
cmds.setKeyframe( at='translateX' )

f:id:tommy_on:20150614163331p:plain

はい。
「setKeyframe( at='translateX' )」
ここでアトリビュートをトランスXに指定しているわけです。
とても簡単。
ちなみに、時間や値もsetKeyframe側で変更できますね。

import maya.cmds as cmds
cmds.polyCube( n='Cube_Move' )
cmds.move( 5, 1, 1 )
cmds.setKeyframe( at='translateX',v=10 ,time=30 )

f:id:tommy_on:20150614163402p:plain

こんな感じで値をセットできます。
では次はSETでは無く、GETしてみたいと思います。

以上。