ジャンプ先: 概要. 戻り値. 関連. フラグ. 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], [symmetry=boolean], [symmetryAxis=string], [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)で行います。

戻り値

string

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

関連

connectJoint, ikHandle, ikHandleDisplayScale, ikSolver, ikSystem, ikSystemInfo, insertJoint, jointCluster, jointDisplayScale, jointLattice, mirrorJoint, 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, symmetry, symmetryAxis, zeroScaleOrient
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
position(p) [linear, linear, linear] createqueryedit
ジョイントの中央位置を指定します。この位置はジョイントの親に相対的であるか、または絶対的なワールド座標になります(以下のフラグ -r と -a を参照)。照会すると 3 つの float を返します。
relative(r) boolean createqueryedit
ジョイントの中央位置をジョイントの親に相対的にします。
absolute(a) boolean createqueryedit
ジョイントの中央位置を絶対的なワールド座標にします(これが既定です)。
component(co) boolean createedit
-position スイッチと一緒に使用して、ジョイントの親(-relative と同様)に相対的にジョイントを位置付けます。しかし、すべての子ジョイントのために新しい位置を計算するので、ワールド座標の位置は変わりません。
name(n) string createqueryedit
ジョイントの名前を指定します。照会すると string を返します。
degreeOfFreedom(dof) string createqueryedit
IK の自由度を指定します。有効な文字列は、x、y、と z の重複しない文字で構成されます。文字列の文字は、どの回転が IK で使用されたかを示します。文字列の文字の順序は関係ありません。例: x、yz、xyz。照会すると string を返します。dof を修正すると、対応する回転アトリビュートのロッキング状態が修正されます。この規則は次のとおりです。回転が dof に変化すると、現在ロックされていればロックが解除されます。回転が non-dof に変化すると、現在ロックされていなければロックされます。
orientation(o) [angle, angle, angle] createqueryedit
ジョイントの方向です。照会すると 3 つの float を返します。
rotationOrder(roo) string createqueryedit
ジョイントの回転の順序です。引数は、次の文字列のいずれかを返します。xyz、yzx、zxy、zyx、yxz、xzy
scaleOrientation(so) [angle, angle, angle] createqueryedit
スケーリングの座標軸の方向を設定します。照会すると 3 つの float を返します。
scale(s) [float, float, float] createqueryedit
ジョイントのスケールを行います。照会すると 3 つの float を返します。
scaleCompensate(sc) boolean createqueryedit
ジョイントの scaleCompenstate アトリビュートを、指定した引数に設定します。true ならば、親ジョイントのスケールはこのジョイントに何らかの回転が適用される前に補正されます。そのため、ボーンはジョイントに対してスケールされますが、ボーンはその子ジョイントに対してはスケールされません。照会すると boolean を返します。
limitX(lx) [angle, angle] createqueryedit
回転の X 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
limitY(ly) [angle, angle] createqueryedit
回転の Y 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
limitZ(lz) [angle, angle] createqueryedit
回転の Z 軸の下限と上限を設定します。ジョイントの制限も有効にします。照会すると 2 つの float を返します。
angleX(ax) angle createqueryedit
X 軸の角度を設定します。照会すると float を返します。
angleY(ay) angle createqueryedit
Y 軸の角度を設定します。照会すると float を返します。
angleZ(az) angle createqueryedit
Z 軸の角度を設定します。照会すると float を返します。
stiffnessX(stx) float createqueryedit
X 軸の固さ(0~100.0)を設定します。照会すると float を返します。
stiffnessY(sty) float createqueryedit
Y 軸の固さ(0~100.0)を設定します。照会すると float を返します。
stiffnessZ(stz) float createqueryedit
Z 軸の固さ(0~100.0)を設定します。照会すると float を返します。
limitSwitchX(lsx) boolean createqueryedit
X 軸の回転を制限します。照会すると boolean を返します。
limitSwitchY(lsy) boolean createqueryedit
Y 軸の回転を制限します。照会すると boolean を返します。
limitSwitchZ(lsz) boolean createqueryedit
Z 軸の回転を制限します。照会すると boolean を返します。
exists(ex) string query
名前の付いた既存のジョイントを照会します。照会すると boolean を返します。
automaticLimits(al) boolean create
編集モードでのみ意味を持ちます。ジョイントを、ジョイント制限付きで適切なヒンジ ジョイントに設定します。次の 2 つの場合に限り、このフラグは自動的にジョイントを修正します。(a)ヒンジ ジョイントが 2 つのジョイント(1 つの親と 1 つの子)に対して正確に接続する (b)接続された 2 つのジョイントの間に描かれた線上にヒンジ ジョイントがないが、接続された 2 つのジョイントで形成されるプレーンが回転軸の 1 つに対して垂直である
setPreferredAngles(spa) boolean edit
編集モードでのみ意味を持ちます。現在のジョイント角に対して、優先回転角を設定します。
assumePreferredAngles(apa) boolean edit
編集モードでのみ意味を持ちます。ジョイント角を対応する優先回転角に設定します。
children(ch) boolean edit
選択したジョイントだけでなく、DAG の中にある孫のジョイントに対しても、すべての Edit オプションを適用します。
radius(rad) float createqueryedit
ジョイントの半径を指定します。
orientJoint(oj) string edit
引数は、次の文字列のいずれかを返します。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 edit
引数は、次の文字列のいずれかを返します。xup、xdown, yup、ydown、zup、zdown、none

このフラグは -oj/orientJoint フラグと一緒に使用します。2 番目の軸を位置合わせるシーンの軸を指定します。たとえば、"-oj yzx -sao yup" というフラグの組み合わせでは、y 軸はボーンの下方向を指し、z 軸はシーンの y 軸の正方向と同じ方向を指し、x 軸は右手の法則に従った向きになります。

zeroScaleOrient(zso) boolean edit
スケールの方向を 0 に設定し、ジョイントの方向と移動の修正によって変更を補正します。あるいはすべての子が変換する一般トランスフォームは回転の修正によって変更を補正します。

フラグ -so が設定された場合、フラグは無視されます。

symmetry(sym) boolean createedit
現在のジョイントから左右対称ジョイントを作成します。
symmetryAxis(sa) string createedit
このフラグは、左右対称ジョイントをミラーするための軸を指定します。x、y、z の任意の組み合わせを使用できます。このオプションは、シンメトリ フラグを True に設定した場合のみ使用します。

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

Python 例

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 )