ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.

概要

copyKey( [objects] , [animLayer=string], [animation=string], [attribute=string], [clipboard=string], [controlPoints=boolean], [float=floatrange], [forceIndependentEulerAngles=boolean], [hierarchy=string], [includeUpperBound=boolean], [index=uint], [option=string], [shape=boolean], [time=timerange])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

copyKey は、取り消し可能、照会不可能、および編集不可能です。

このコマンドは、キーセットに作用します。キーセットは、1 つまたは複数のアニメーション カーブ上の指定したタイム レンジ内のキー グループとして定義されます。

キーセットを構成するアニメーション カーブは、「-animation」フラグの値に依存します。

-animation フラグを使用して、「translateX」など attributeName という形式の引数を取る、多目的な -attribute フラグによって固有に識別されるカーブをオーバーライドすることができます。

アニメーション カーブ上の各キーは、カーブの時間値またはインデックスによって識別されます。時間とインデックスは、単独にあるいはリストの一部または範囲として指定することができます(例を参照)。

このコマンドを使うと、指定したターゲットからカーブ セグメントの階層がコピーされ、クリップボードに貼り付けられます。元のカーブは変更されません。pasteKey コマンドを使うと、それらのカーブがほかのオブジェクトへペーストされます。

クリップボードにあるコピーされたカーブのシェイプは、指定した copyKey の「-option」によって異なります。以下のオプションについては、それぞれ例を用いて説明します。すべての説明において、ソース アニメーション カーブ(キーのコピー元)には、10、15、20、25、30 の 5 つのキーフレームがあるものとします。

TbaseKeySetCmd.h

戻り値

intコピーしたアニメーション カーブの数。

関連

cutKey, findKeyframe, keyTangent, keyframe, keyframeOutliner, keyframeStats, pasteKey, scaleKey, setInfinity, snapKey

フラグ

animLayer, animation, attribute, clipboard, controlPoints, float, forceIndependentEulerAngles, hierarchy, includeUpperBound, index, option, shape, time
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
animLayer(al) string create
指定したこのアニメーション レイヤからコピーするキーを取得するよう指定します。このレイヤのオブジェクトにキーがない場合、キーはコピーされません。
animation(an) string create
このコマンドが、自身が影響を与えるアニメーションを取得する場所です。有効な値は「objects」、「keys」、「keysOrObjects」で、既定は「keysOrObjects」です(詳細については、説明を参照してください)。
attribute(at) string createmultiuse
選択するアトリビュートのリストです。

照会モードでは、このフラグに値が必要になります。

clipboard(cb) string create
アニメーションをコピーするクリップボードを指定します。有効なクリップボードは「api」と「anim」です。既定のクリップボードは「anim」です。
controlPoints(cp) boolean create
このフラグは、アトリビュートのリストにシェイプのコントロール ポイントを含めるかどうかを明示的に指定します(「-s」フラグを参照)。既定: false(「pasteKey」コマンドでは無効)。

照会モードでは、このフラグに値が必要になります。

float(f) floatrange createmultiuse
時間ベースの animCurve 上の時間ベースでないキー(またはキー レンジ)を固有に表す値です。有効な floatRange は、単一の値(-f 10)、または上下限をコロンで区切った文字列(-f "10:20")です。

照会モードでは、このフラグに値が必要になります。

forceIndependentEulerAngles(fea) boolean create
回転カーブが常に独立オイラー角度としてクリップボードに配置される必要があることを指定します。既定値は false です。
hierarchy(hi) string create
階層展開オプションです。有効な値は、「above」、「below」、「both」、「none」です。(「pasteKey」コマンドでは無効)。

照会モードでは、このフラグに値が必要になります。

includeUpperBound(iub) boolean create
-t/time または -f/float フラグがキーの範囲を表す場合に、範囲の上限のキーをキーセットに含めるかどうかを定義します。既定値: true。このフラグは、-t/time フラグの引数が上下限が指定したタイム レンジである場合に限り有効です(「pasteKey」コマンドでこのフラグを使用するときに「replace」、「fitReplace」、「scaleReplace」などのオプションを指定すると、このフラグは、置き換えられるターゲット カーブの時間範囲のみを参照します。このフラグは、クリップボードからペーストされたカーブには影響しません)。
index(index) uint createmultiuse
アニメーション カーブ上のキーのインデックス

照会モードでは、このフラグに値が必要になります。

option(o) string create
copyKey の実行時に使用するオプションです。有効なオプションは「keys」と「curve」です。既定のコピー オプション:keys です。
shape(s) boolean create
トランスフォームの下にあるシェイプのアトリビュート(「controlPoints」以外)も考慮します。既定: true(「pasteKey」コマンドでは無効)。

照会モードでは、このフラグに値が必要になります。

time(t) timerange createmultiuse
時間ベースのアニメーション カーブ上のキー(またはキー レンジ)を固有に表す時間です。単一のフレームまたはフレーム範囲の設定方法については、以下のコード例を参照してください。

照会モードでは、このフラグに値が必要になります。


フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

# Keys on animation curves are identified by either
# their time values or their indices.  Times and indices can
# be given as a range or list of ranges.

# time=('10pal','10pal') means the key at frame 10 (PAL format).
# time=[(1.0,1.0),('15ntsc','15ntsc'),(20,20)] means the keys at time 1.0 second, frame 15 (in NTSC format), and time 20 (in the currently defined global time unit).
# time=(10,20) means all keys in the range from 10 to 20, inclusive, in the current time unit.
# Omitting one end of a range means "go to infinity", as in the following examples:
# time=(10,) means all keys from time 10 (in the current time unit) onwards.
# time=(0,10) means all keys up to (and including) time 10 (in the current time unit).
# time=() is a short form to specify all keys.
# index=(0,0) means the first key of each animation curve. (Indices are 0-based.)
# index=[(2,2),(5,5),(7,7)] means the 3rd, 6th, and 8th keys.
# index=(1,5) means the 2nd, 3rd, 4th, 5th, and 6th keys of each animation curve.

# Copy keyframes from frame 10 to 20 of cube1's "Translate X" attribute
#
cmds.copyKey( 'cube1', time=(10,20), attribute='translateX', option="curve" )

# Copy from all active objects all keys in the range 0 to 60
#
cmds.copyKey( time=(0,60) )