MAXKeyArray 値

> コレクション > コレクションのタイプ > MAXKeyArray 値

 

   

値とコレクション - クイック ナビゲーション

MAXKeyArray は、3ds Max コントローラ トラックのすべてのキーフレーム キーを表します。

MAXKey 値」、「MAXKey 値の操作」、および「コントローラの共通プロパティ、演算子、メソッド」も参照してください。

MAXKeyArray値はマップ可能です。

   

コンストラクタ:

<node>.<animatable_property>.keys 

キー配列へは、アニメートされた 3ds Max オブジェクトの keys プロパティを使用してアクセスできます。

例:

$foo.position.keys
$foo.twist.angle.keys

3ds Max オブジェクト パラメータがまだアニメートされていない場合(パラメータにコントローラが割り当てられていない場合など)は、 undefined 値が返されます。

   

<controller>.keys 

キー配列へは、コントローラの keys プロパティを使用してアクセスできます。

例:

$foo.position.controller.keys
$foo[3][1].keys

   

プロパティ

<key_array>.count : Integer, read-only 

キー配列内のキーの数を返します。

   

演算子

<key_array>[<index_integer>] 

キー配列内のインデックスで指定されたキーを表す MAXKey 値を返します。インデックスは 1 から始まります。

   

演算子

append <key_array> <key> 

キー配列にキーを追加します。

   

deleteItem <key_array> <index_integer> 

インデックスで指定されたキーを削除します。キー インデックスは、基数 1 です。

   

addNewKey <key_array> <time> [ #select ] 

指定された時間のキー配列に新規キーを追加します。新規キーの値は、指定された時間に補間されたコントローラ値です。

#select オプション引数が指定されると、新規キーも選択されます。

新規キーの値は、その時間に補間されたコントローラ値です。 addNewKey() は、指定された時間に既にキーが存在する場合には、キーを追加しません。

この場合の戻り値は、指定された時間に位置するキーです。

   

deleteKeys <key_array> [ #allKeys ] [ #selection ] 

追加指定した記号引数により、コントローラからキーを削除します。

#allKeys (既定値): コントローラ内のすべてのキーを削除します。

#selection : 現在選択されているキーを削除します。

   

deleteKey <key_array> <index_integer> 

インデックスで指定されたキーを削除します。キー インデックスは、基数 1 です。

   

moveKeys <key_array> <time> [ #selection ] 

すべてのキーを指定された時間だけ移動します。 #selection が指定されている場合はそのときの選択を移動します。指定されていない場合はすべてのキーを移動します。

   

sortKeys <key_array> 

キーを、その時間によりソートし直します。MAXKey 演算がうまくいかない場合があるため、この関数は正しく整列キーに対して呼び出してください。

注:

上の関数はすべて、キー配列内のキーを再度並び替えるので、既存のキーに異なるインデックスが付きます。キー配列インデックスは、時間位置で付けられるからです。

変数やその他のコンテナ内に個々のキーを持っている配列へキーを挿入したり削除するときは注意してください。MAXKey 値は、このインデックスにより内部的に定義されるので、コントローラ内のキーを再配置した場合は、異なるキーをポイントすることがあります。

パス名と配列コレクションがその内容に対して実行するのと同じ方法で、MAXKeyArrays はその内容に対してマップによるプロパティ割り当てもサポートします。

例:

b = box()
c = cylinder()
for i = 1 to 3 do
b.pos.controller[i].controller.keys.time += 10f
--bumps all position key times by 10 frames,
--this is necessary because Position_XYZ has 3 sub-controllers

c.bend.angle.keys.value *= 1.2
--scales all the bend angle key values up by 1.2.

例:

keys = $box01.bend.angle.keys
for t in 0f to 100f by 10f do 
addNewKey keys t