移動先: 概要 戻り値 関連項目. フラグ. Python 例.
joint(
[objects]
, [absolute=boolean], [angleX=angle], [angleY=angle], [angleZ=angle], [assumePreferredAngles=boolean], [automaticLimits=boolean], [children=boolean], [component=boolean], [degreeOfFreedom=string], [exists=string], [limitSwitchX=boolean], [limitSwitchY=boolean], [limitSwitchZ=boolean], [limitX=[angle, angle]], [limitY=[angle, angle]], [limitZ=[angle, angle]], [name=string], [orientJoint=string], [orientation=[angle, angle, angle]], [position=[linear, linear, linear]], [radius=float], [relative=boolean], [rotationOrder=string], [scale=[float, float, float]], [scaleCompensate=boolean], [scaleOrientation=[angle, angle, angle]], [secondaryAxisOrient=string], [setPreferredAngles=boolean], [stiffnessX=float], [stiffnessY=float], [stiffnessZ=float], [zeroScaleOrient=boolean])
注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
joint は 「元に戻す」が可能、「照会」が可能、「編集」が可能 です。
joint コマンドは、Maya 内でジョイントを作成、編集、そして
照会するために使用します。(編集と照会機能には、標準の編集(-e)と照会(-q)フラグが使用されます)。オブジェクトを指定しないと、現在選択しているオブジェクト(dag オブジェクト)が使用されます。
編集モードでのみ、複数のオブジェクトが使用可能です。同一の編集フラグが、選択したすべてのジョイントに適用されます。ただし、-p フラグがワールド空間でジョイント位置を設定する -r フラグなしで、指定されている場合は適用されません。オブジェクト リストの IK ハンドルは、IK ハンドルが制御するジョイントのリストに相当します。-ch/children を指定すると、妥当な IK ハンドルによって制御されるジョイントを含む、指定したジョイントのすべての子ジョイントが含まれます。
作成モードでは、新しいジョイントが選択したトランスフォームの子として作成されるか、トランスフォームが選択されていなければ新しいジョイント自身が階層の先頭となります。IK ハンドルは、作成モードでトランスフォームとして扱われます。
引数のデフォルト値は次のとおりです。
-degreeOfFreedom xyz
-name "Joint#"
-position 0 0 0
-absolute
-dof "xyz"
-scale 1.0 1.0 1.0
-scaleCompensate true
-orientation 0.0 0.0 0.0
-scaleOrientation 0.0 0.0 0.0
-limitX -360 360
-limitY -360 360
-limitZ -360 360
-angleX 0.0
-angleY 0.0
-angleZ 0.0
-stiffnessX 0.0
-stiffnessY 0.0
-stiffnessZ 0.0
-limitSwitchX no
-limitSwitchY no
-limitSwitchZ no
-rotationOrder xyz
これらの引数は作成モードで指定できます。また、編集は編集モード(-e)、照会は照会モード(-q)で行います。
戻り値の型は照会モードでは照会フラグが基になります。
connectJoint, ikHandle, ikHandleDisplayScale, ikSolver, ikSystem, ikSystemInfo, insertJoint, jointCluster, jointDisplayScale, jointLattice, mirrorJoint, removeJoint, removeJoint
absolute, angleX, angleY, angleZ, assumePreferredAngles, automaticLimits, children, component, degreeOfFreedom, exists, limitSwitchX, limitSwitchY, limitSwitchZ, limitX, limitY, limitZ, name, orientJoint, orientation, position, radius, relative, rotationOrder, scale, scaleCompensate, scaleOrientation, secondaryAxisOrient, setPreferredAngles, stiffnessX, stiffnessY, stiffnessZ, zeroScaleOrient
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
position(p)
|
[linear, linear, linear]
|
|
|
ジョイントの中央位置を指定します。
この位置はジョイントの親に相対的であるか、または絶対的なワールド座標になります(以下のフラグ -r と -a を参照)。照会すると 3 つの float を返します。
|
|
relative(r)
|
boolean
|
|
|
ジョイントの中央位置をジョイントの親に相対的にします。
|
|
absolute(a)
|
boolean
|
|
|
ジョイントの中央位置を絶対的なワールド座標にします(これがデフォルトです)。
|
|
component(co)
|
boolean
|
|
|
-position スイッチと一緒に使用して、ジョイントの親(-relative と同様)に相対的にジョイントを位置付けます。しかし、すべての子ジョイントのために新しい位置を計算するので、ワールド座標の位置は変わりません。
|
|
name(n)
|
string
|
|
|
ジョイントの名前を指定します。照会すると string を返します。
|
|
degreeOfFreedom(dof)
|
string
|
|
|
IK の自由度を指定します。
有効な文字列は、x、y、と z の重複しない文字で構成されます。文字列の文字は、どの回転が IK で使用されたかを示します。文字列の文字の順序は関係ありません。例: x、yz、xyz。照会すると string を返します。
dof を修正すると、対応する回転アトリビュートのロッキング状態が修正されます。この規則は次のとおりです。回転が dof に変化すると、現在ロックされていればロックが解除されます。回転が non-dof に変化すると、現在ロックされていなければロックされます。
|
|
orientation(o)
|
[angle, angle, angle]
|
|
|
ジョイントの方向です。照会すると 3 つの float を返します。
|
|
rotationOrder(roo)
|
string
|
|
|
ジョイントの回転の順序です。引数は、次の文字列のいずれかを返します。xyz、yzx、zxy、zyx、yxz、xzy
|
|
scaleOrientation(so)
|
[angle, angle, angle]
|
|
|
スケーリングの座標軸の方向を設定します。照会すると 3 つの float を返します。
|
|
scale(s)
|
[float, float, float]
|
|
|
ジョイントのスケールを行います。照会すると 3 つの float を返します。
|
|
scaleCompensate(sc)
|
boolean
|
|
|
ジョイントの scaleCompenstate アトリビュートを、指定した引数に設定します。true ならば、親ジョイントのスケールはこのジョイントに何らかの回転が適用される前に補正されます。そのため、ボーンはジョイントに対してスケールされますが、ボーンはその子ジョイントに対してはスケールされません。照会すると boolean を返します。
|
|
limitX(lx)
|
[angle, angle]
|
|
|
回転の X 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
|
|
limitY(ly)
|
[angle, angle]
|
|
|
回転の Y 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
|
|
limitZ(lz)
|
[angle, angle]
|
|
|
回転の Z 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
|
|
angleX(ax)
|
angle
|
|
|
X 軸の角度を設定します。照会すると float を返します。
|
|
angleY(ay)
|
angle
|
|
|
Y 軸の角度を設定します。照会すると float を返します。
|
|
angleZ(az)
|
angle
|
|
|
Z 軸の角度を設定します。照会すると float を返します。
|
|
stiffnessX(stx)
|
float
|
|
|
X 軸の固さ(0~100.0)を設定します。
照会するとfloat を返します。
|
|
stiffnessY(sty)
|
float
|
|
|
Y 軸の固さ( 0~100.0)を設定します。
照会するとfloat を返します。
|
|
stiffnessZ(stz)
|
float
|
|
|
Z 軸の固さ( 0~100.0)を設定します。
照会するとfloat を返します。
|
|
limitSwitchX(lsx)
|
boolean
|
|
|
X 軸の回転を制限します。照会すると boolean を返します。
|
|
limitSwitchY(lsy)
|
boolean
|
|
|
Y 軸の回転を制限します。照会すると boolean を返します。
|
|
limitSwitchZ(lsz)
|
boolean
|
|
|
Z 軸の回転を制限します。照会すると boolean を返します。
|
|
exists(ex)
|
string
|
|
|
名前の付いた既存のジョイントを照会します。照会すると boolean を返します。
|
|
automaticLimits(al)
|
boolean
|
|
|
編集モードでのみ意味を持ちます。ジョイントを、ジョイント制限付きで適切なヒンジ ジョイントに設定します。次の 2 つの場合に限り、このフラグは自動的にジョイントを修正します。
(a)ヒンジ ジョイントが 2 つのジョイント(1 つの親と 1 つの子)に対して正確にコネクトする
(b)コネクトされた 2 つのジョイントの間に描かれた線上にヒンジ ジョイントがないが、コネクトされた 2 つのジョイントで形成されるプレーンが回転軸の 1 つに対して垂直である
|
|
setPreferredAngles(spa)
|
boolean
|
|
|
編集モードでのみ意味を持ちます。カレントのジョイント角に対して、優先回転角を設定します。
|
|
assumePreferredAngles(apa)
|
boolean
|
|
|
編集モードでのみ意味を持ちます。ジョイント角を対応する優先回転角に設定します。
|
|
children(ch)
|
boolean
|
|
|
選択したジョイントだけでなく、DAG の中にある孫のジョイントに対しても、すべての Edit オプションを適用します。
|
|
radius(rad)
|
float
|
|
|
orientJoint(oj)
|
string
|
|
|
引数は、次の文字列のいずれかを返します。xyz、yzx、zxy、zyx、yxz、xzy、none
ジョイントとスケールの向きが修正され、引数の最初の文字で示される軸がこのジョイントから最初の子ジョイントへのベクトルにアラインされます。たとえば、引数が "xyz" であれば、x 軸が子ジョイントの方を指します。
残りの 2 つのジョイント方向軸のアラインメントは、-sao/-secondaryAxisOrient フラグを使用しているかどうかによって異なります。-sao フラグが使用されている場合の残りの軸のアラインメント方法については、-sao フラグに関する文書を参照してください。
2 番目の軸方向が指定されていなければ、引数の最後の文字で示される回転軸は、
1 番目の軸に垂直なベクトルと、このジョイントから親ジョイントへのベクトルにアラインされます。
残りの軸は、右手の法則に従ってアラインされます。
引数が "none" の場合、ジョイントの向きが 0 に設定され、下の階層に対するエフェクトがスケールの方向の修正によってオフセットされます。
フラグは、次の場合には無視されます。
A. 引数が "none" でない場合、ジョイントが 0 以外の回転を持っている
B. 引数が "none" でない場合、ジョイントが子ジョイントを持っていないか、子ジョイントとの間隔が 0 である
C. フラグ -o または -so のいずれかが設定されている
|
|
secondaryAxisOrient(sao)
|
string
|
|
|
引数は、次の文字列のいずれかを返します。xup、xdown,
yup、ydown、zup、zdown、none
このフラグは -oj/orientJoint フラグと併用します。2 番目の軸をアラインするシーンの軸を指定します。たとえば、"-oj yzx -sao yup"
というフラグの組み合わせでは、y 軸はボーンの下方向を指し、z 軸はシーンの y 軸の正方向と同じ方向を指し、x 軸は右手の法則に従った向きになります。
|
|
zeroScaleOrient(zso)
|
boolean
|
|
|
スケールの方向を 0 に設定し、ジョイントの方向と移動の修正によって変更を補正します。あるいはすべての子が変換する一般トランスフォームは回転の修正によって変更を補正します。
フラグ -so が設定された場合、フラグは無視されます。
|
|
: コマンドの作成モードで使用可能なフラグ
|
: コマンドの編集モードで使用可能なフラグ
|
: コマンドの照会モードで使用可能なフラグ
|
: タプルまたはリストとして渡された複数の引数を持てるフラグ
|
import maya.cmds as cmds
# Create a 3-joint chain
#
cmds.select( d=True )
cmds.joint( p=(0, 0, 0) )
cmds.joint( p=(0, 4, 0) )
cmds.joint( 'joint1', e=True, zso=True, oj='xyz' )
cmds.joint( p=(0, 8, -1) )
cmds.joint( 'joint2', e=True, zso=True, oj='xyz' )
# Create a fourth joint with z joint limits of -90 deg for
# the lower limit and 90 deg for the upper limit. The
# joint will be positioned at (0, 0, 4) in world
# coordinates.
#
cmds.joint( lz=('-90deg', '90deg'), p=(0, 8, 4) )
# Set the joint limits but leave them disabled.
cmds.joint( edit=True, lz=('-90deg', '90deg'), lsz=False )