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

概要

blendTwoAttr( [objects] , [attribute=string], [attribute0=name], [attribute1=name], [blender=name], [controlPoints=boolean], [driver=int], [name=string], [shape=boolean], [time=timerange])

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

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

blendTwoAttr ノードは 2 つの入力を取り、その出力値は1 つの入力からもう 1 つの入力へ値をブレンドしたものになります。2 つの入力のブレンドでは、ブレンド関数を使用します。形式は次のとおりです。
     (1 - blendFunction) * input[0]  +  blendFunction * input[1] 

blendTwoAttr コマンドを使用してオブジェクトのアニメーションをブレンドして、別々の 2 つオブジェクトのアニメーション間のトランジションを滑らかにします。

blendTwoAttr コマンドが発行されると、指定したアトリビュートに blendTwoAttr ノードを作成し、以前アトリビュートに接続されていたものをすべて、新しいブレンド ノードに再接続します。また、ブレンドに使用される 2 つのアトリビュートを指定することもできます。

このドライバは、ブレンド ノードでアニメートされたあと、オブジェクトにキーフレームを設定する場合に使用されます。現在のドライバのインデックスは、2 つブレンドされたアトリビュートのうち、どちらにキーフレーム設定するかを指定します。

戻り値

string[]作成された blendTwoAttr ディペンデンシーノードの名前

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

attribute, attribute0, attribute1, blender, controlPoints, driver, name, shape, time
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
attribute(at) string createmultiuse
blendTwoAttr ノードが作成される、選択したノードのアトリビュートのリストです。

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

attribute0(at0) name createqueryedit
新しい blendTwoAttr ノードの最初の入力に接続するアトリビュートです。照会すると string を返します。
attribute1(at1) name createqueryedit
新しい blendTwoAttr ノードの 2 番目の入力に接続するアトリビュートです。照会すると string を返します。
driver(d) int createqueryedit
このブレンド ノードのドライバ アトリビュートのインデックス(0 または 1)です。照会すると、整数値を返します。
blender(bl) name createqueryedit
ブレンダ アトリビュートです。これは、新しく作成された blendTwoAttr ノードのブレンダ アトリビュートに接続されるアトリビュートです。このアトリビュートは、2 つのアトリビュートをそれぞれどれだけブレンドで使用するかを制御します。このフラグが指定されていない場合、値が -t フラグで指定したタイム レンジの 1 から 0 までで変化する、新しいアニメーション カーブが作成されます。-t を指定していない場合にこのコマンドが発行されると、最初のアトリビュートの値から 2 つめのアトリビュートの値に移るときに、現在のタイムで急激な変化が起こります。
time(t) timerange create
2 つのアトリビュート間のブレンドが作成されるタイム レンジです。1 つのタイムが指定されている場合、その時点で、最初のアトリビュートから 2 つめのアトリビュートへのブレンドに急激な変化が起こります。1 つのレンジが指定されている場合、そのタイム レンジに渡ってスムーズなブレンディングが作成されます。既定では、現在のタイムでの突然のトランジションが作成されます。
name(n) string createquery
新しいブレンド ノードの名前です。
shape(s) boolean create
トランスフォームの下にあるシェイプのアトリビュート(「controlPoints」以外)もすべて考慮します。既定: true
controlPoints(cp) boolean create
アトリビュートのリストにシェイプの制御点を含めるかどうかを明示的に指定します(「-s」フラグを参照)。既定: false

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

Python 例

import maya.cmds as cmds

# Assume we have animated a bouncing sphere, sphere1, and we would like
# the sphere to smoothly transition into following a second sphere's,
# sphere2, animation between time 15 and 20.
#
cmds.select( 'sphere1' )
cmds.blendTwoAttr( at='tx', at1='sphere2.tx', t=(15,20) )
cmds.blendTwoAttr( at='ty', at1='sphere2.ty', t=(15,20) )
cmds.blendTwoAttr( at='tz', at1='sphere2.tz', t=(15,20) )

# You can use the "-at" flag to narrow the query. For example, if
# you wanted to know the names of the newly created blender curves
# for only the tx and tz attributes of sphere1, you could say:
#
cmds.blendTwoAttr( at=['tx','tz'], query=True, blender=True )

# You can now keyframe the sphere2's animation by changing the
# driver on sphere1.
#
cmds.blendTwoAttr( at='tx', edit=True, driver=1 )
# setKeyframe ...

# If you already had two objects, sphere1 and sphere2 animated, and
# you wanted to blend between their animation abruptly at time 15,
# you could do:
#
cmds.blendTwoAttr( 'newObject.tx', t=(15,15), at0='sphere1.tx', at1='sphere2.tx' )