Python によってキーフレームアニメーションを実行する場合は、以下の手順で作ってゆきます。
キーフレームアニメーションはキーを設定可能なアトリビュートにのみ有効です。
例えば、トランスフォームノードではデフォールトで 移動 X, 移動 Y, 移動 Z, 回転 X, 回転 Y, 回転 Z, スケール X, スケール Y, スケール Z, 可視性 などがキーを設定可能になっています。
もし、デフォールトでキーを設定できないアトリビュートにキーフレームアニメーションをつけるときは、以下のコマンドによってキーを設定可能にします。
maya.cmds.setAttr(ノード名.アトリビュート名, k=True)
GUIでは ウインドウ → 一般エディタ → チャンネル コントロール によって行ないます。
キーを設定可能なアトリビュートのリストを調べるためには、以下のコマンドを使用します。
キーフレームを設定して、球体を円状にアニメーションさせる Python スクリプトを作ってみましょう。
global proc circleAnimation1(float $rad, int $frame)
{
int $i;
float $r = 0.0;
string $name[];
$name = `sphere`;
setAttr ($name[0] + ".tx") $rad;
setAttr ($name[0] + ".rotatePivotX") (-$rad);
for($i = 0; $i < $frame; $i++)
{
currentTime $i;
setAttr ($name[0] + ".ry") $r;
setKeyframe -at "ry" $name[0];
$r += 10.0;
}
}
- スクリプト エディタ の ファイル → スクリプトのロード によって circleAnimation1.py を読み込んで、テンキーの Enter キーなどで実行します。
- スクリプト エディタ のインプットウインドウに circleAnimation1(5, 100) と打ち込んで実行します。
- 半径 5 の円上を球が動いてゆく 100 フレーム分のキーフレームアニメーションが作られます。