ジャンプ先: 概要. 戻り値. フラグ. 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' )