ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.
normalConstraint(
[target...] object
, [aimVector=[float, float, float]], [layer=string], [name=string], [remove=boolean], [targetList=boolean], [upVector=[float, float, float]], [weight=float], [weightAliasList=boolean], [worldUpObject=name], [worldUpType=string], [worldUpVector=[float, float, float]])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
normalConstraint は、取り消し可能、照会可能、および 編集可能 です。
ターゲット サーフェスの法線に基づき、オブジェクトの方向をオブジェクトの最も近いポイントにコンストレイントします。normalConstraint は、入力データとして、1 つまたは複数のサーフェス シェイプ(ターゲット)および DAGトランスフォーム ノード(オブジェクト)を取ります。normalConstraint は、コンストレイントされたオブジェクトを、エイムベクトル(そのオブジェクトのローカル座標系の)がワールド空間で統合法線ベクトルに位置合わせされるように方向付けます。オブジェクトのローカル座標系のアップ ベクトルは、
ワールド空間で worldUpVector に位置合わせされます。統合法線のベクトルは、各ターゲット サーフェスのコンストレイントされたオブジェクトに最も近い法線ベクトルの加重平均です。
string[] | 作成されたコンストレイント ノード名 |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
aimConstraint, geometryConstraint, orientConstraint, parentConstraint, pointConstraint, poleVectorConstraint, scaleConstraint, tangentConstraint
aimVector, layer, name, remove, targetList, upVector, weight, weightAliasList, worldUpObject, worldUpType, worldUpVector
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
name(n)
|
string
|
|
|
コンストレイント ノードの名前を指定した名前に設定します。既定名は constrainedObjectName_constraintType です。
|
|
weight(w)
|
float
|
|
|
指定したターゲットのウェイト値を設定します。作成時に指定していない場合は、既定値の 1.0 が使用されます。
|
|
remove(rm)
|
boolean
|
|
|
リストされたターゲットをコンストレイントから除去します。
|
|
targetList(tl)
|
boolean
|
|
|
weightAliasList(wal)
|
boolean
|
|
|
ターゲット オブジェクトのウェイトをコントロールする、アトリビュートの名前を返します。targetList フラグで返されるターゲットと同じ順序で、エイリアスを返します。
|
|
layer(l)
|
string
|
|
|
コンストレイントを追加するアニメーション レイヤの名前を指定します。
|
|
aimVector(aim)
|
[float, float, float]
|
|
|
エイム ベクトルを設定します。ターゲットを示すローカル座標でのベクトルです。作成時に指定していない場合、既定値の(0.0, 1.0, 0.0)が使用されます。
|
|
upVector(u)
|
[float, float, float]
|
|
|
ローカル アップ ベクトルを設定します。これは、ワールド アップ ベクトルと位置合わせするローカル座標内でのベクトルです。作成時に指定していない場合、既定値の(1.0, 0.0, 0.0)が使用されます。
|
|
worldUpVector(wu)
|
[float, float, float]
|
|
|
ワールド アップ ベクトルを設定します。これは、アップ ベクトルと位置合わせする必要のあるワールド座標内のベクトルです。詳細については、-wut/worldUpType (下記)を参照してください。作成時に指定していない場合、既定値の(1.0, 0.0, 0.0)が使用されます。
|
|
worldUpObject(wuo)
|
name
|
|
|
DAG オブジェクトを worldUpType "object" および「objectrotation」で使用するように設定します。詳細については、worldUpType を参照してください。既定値は、ワールド空間座標として解釈される非アップ オブジェクトです。
|
|
worldUpType(wut)
|
string
|
|
|
ワールド アップ ベクトル計算のタイプを設定します。worldUpType は、「scene」、「object」、「objectrotation」、「vector」、または「none」です。「scene」の場合、upVector はシーンのアップ軸に位置合わせされ、worldUpVector および worldUpObject は無視されます。「object」の場合、upVector は worldUpObject の空間の原点にできるだけ近い位置に配置され、worldUpVector は無視されます。「objectrotation」の場合、worldUpVector は worldUpObject の座標空間にあるものと解釈され、ワールド空間にトランスフォームされて upVector はその結果にできるだけ近く位置合わせされます。「vector」の場合、upVector は worldUpVector にできるだけ近く位置合わせされ、worldUpMatrix は無視されます。最後に「none」の場合は、コンストレイントでツイストの計算は実行されません。その結果、
「upVector」の方向はコンストレイントされたオブジェクトの以前の方向に基づくようになり、
「great circle」回転には、エイム ベクトルをそのコンストレイントと位置合わせすることが必要になります。既定の worldUpType は「vector」です。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
cmds.normalConstraint( 'surf1', 'cube1' )
# orients the aim vector of cube1 in it's local coordinate space,
# to the normal vector of surf1 at the closest point to cube1.
cmds.normalConstraint( 'surf1', 'surf2', 'cube2', w=.1 )
# uses the average of the normals from surf1 and surf2.
cmds.normalConstraint( 'surf1', 'cube2', e=True, w=10. )
# sets the weight for surf1's effect on cube2 to 10.
cmds.normalConstraint( 'surf2', 'cube2', e=True, rm=True )
# removes surf2 from cube2's normalConstraint.
cmds.normalConstraint( 'surf3', 'cube2' )
# adds surf3 to cube2's normalConstraint with the default weight.