ジャンプ先: 概要. 注記.
戻り値. 関連項目. フラグ. Python 例.
xform( [objects...] , [absolute=boolean], [boundingBox=boolean], [boundingBoxInvisible=boolean],
[centerPivots=boolean],
[euler=boolean], [matrix=[float, float, float, float, float,
float, float, float, float, float, float, float, float, float,
float, float]], [objectSpace=boolean], [pivots=[linear, linear, linear]],
[preserve=boolean], [relative=boolean], [rotateAxis=[angle, angle, angle]],
[rotateOrder=string],
[rotatePivot=[linear, linear,
linear]], [rotateTranslation=[linear, linear,
linear]], [rotation=[angle,
angle, angle]], [scale=[float,
float, float]], [scalePivot=[linear, linear, linear]],
[scaleTranslation=[linear,
linear, linear]], [shear=[float,
float, float]], [translation=[linear, linear,
linear]], [worldSpace=boolean], [worldSpaceDistance=boolean],
[zeroTransformPivots=boolean])
注意:
オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
xform は 「元に戻す」が可能、「照会」が可能、「編集」が不可能 です。
このコマンドは、変換ノードにおける、あらゆる要素の 照会/設定に使用できます。また、変換行列や バウンディング
ボックスのような、直接設定できない値を 照会することもできます。ピボット ポイントを設定することもできます。 すべての値は、変換の座標
(アトリビュート - スペース)で指定します。 また、アトリビュートは「フラグ」セクションに記述された順番に
適用され、値を返します。(この順番は下記の変換行列に表示されている順序に 対応しています。) 関連項目:
move、rotate、scale
ノードに対する変換行列は、指定した順序で 次のマトリックスを後で掛け合わせて構築されます(注:
回転は回転順序パラメータに従って適用されます。以下にはこの 6 種類の回転は示されていません)
-1 -1
[M] = [sp]x[s]x[sh]x[sp]x[st]x[rp]x[ar]x[ro]x[rp]x[rt]x[t]
ここで、
[sp] = | 1 0 0 0 | = scale pivot matrix
| 0 1 0 0 |
| 0 0 1 0 |
| -spx -spy -spz 1 |
[s] = | sx 0 0 0 | = scale matrix
| 0 sy 0 0 |
| 0 0 sz 0 |
| 0 0 0 1 |
[sh] = | 1 0 0 0 | = シア行列
| xy 1 0 0 |
| xz yz 1 0 |
| 0 0 0 1 |
-1
[sp] = | 1 0 0 0 | = スケール ピボット逆行列
| 0 1 0 0 |
| 0 0 1 0 |
| spx spy spz 1 |
[st] = | 1 0 0 0 | = スケール移動行列
| 0 1 0 0 |
| 0 0 1 0 |
| stx sty stz 1 |
[rp] = | 1 0 0 0 | = 回転ピボット行列
| 0 1 0 0 |
| 0 0 1 0 |
| -rpx -rpy -rpz 1 |
[ar] = | * * * 0 | = 軸回転行列
| * * * 0 | (合成回転、
| * * * 0 | 詳細は以下の [rx], [ry], [rz]
| 0 0 0 1 | を参照)
[rx] = | 1 0 0 0 | = 回転 X 行列
| 0 cos(x) sin(x) 0 |
| 0 -sin(x) cos(x) 0 |
| 0 0 0 1 |
[ry] = | cos(y) 0 -sin(y) 0 | = 回転 Y 行列
| 0 1 0 0 |
| sin(y) 0 cos(y) 0 |
| 0 0 0 1 |
[rz] = | cos(z) sin(z) 0 0 | = 回転 Z 行列
| -sin(z) cos(z) 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
-1
[rp] = | 1 0 0 0 | = 回転ピボット行列
| 0 1 0 0 |
| 0 0 1 0 |
| rpx rpy rpz 1 |
[rt] = | 1 0 0 0 | = 回転移動行列
| 0 1 0 0 |
| 0 0 1 0 |
| rtx rty rtz 1 |
[t] = | 1 0 0 0 | = 移動行列
| 0 1 0 0 |
| 0 0 1 0 |
| tx ty tz 1 |
なし
戻り値の型は照会モードでは照会フラグが基になります。
move, rotate,
scale
absolute, boundingBox, boundingBoxInvisible, centerPivots, euler, matrix, objectSpace, pivots, preserve,
relative, rotateAxis, rotateOrder, rotatePivot, rotateTranslation, rotation, scale,
scalePivot, scaleTranslation, shear, translation,
worldSpace, worldSpaceDistance, zeroTransformPivots
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
absolute(a) |
boolean |
|
|
relative(r) |
boolean |
|
|
euler(eu) |
boolean |
|
|
回転値を指定する -relative フラグの修飾子で、 現在の XYZ 回転値に加算されます。 |
|
objectSpace(os) |
boolean |
|
|
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な)
オブジェクト空間の変換値として値を扱います。 |
|
worldSpace(ws) |
boolean |
|
|
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な)
ワールド空間の変換値として値を扱います。 |
|
worldSpaceDistance(wd) |
boolean |
|
|
-sp、-rp、-st、-rt、-t、-piv フラグの値は、 ローカル軸に沿って動くワールド空間の
距離として扱われます。ローカル軸は、コマンドがローカル空間、または オブジェクト空間で機能しているかどうかによって異なります。
このフラグは、ワールド空間では効果がありません。 |
|
preserve(p) |
boolean |
|
|
変換全体を保持します。またピボットや回転順序の変更時に、 オブジェクトが「ジャンプ」するのを防ぐために使用されます。
デフォルト値は true です( -sp、-rp、-roo、-cp、-ra フラグとともに使用)。 |
|
scalePivot(sp) |
[linear, linear, linear] |
|
|
ピボット ポイントでスケール変換します (-p フラグとともに使用する場合は、トランスフォーム全体の
スケール変換に変更が加えられるのを防ぎます)。 |
|
scale(s) |
[float, float, float] |
|
|
shear(sh) |
[float, float, float] |
|
|
シア変換します。 値はシアの <xy,xz,yz> を表します。 |
|
scaleTranslation(st) |
[linear, linear, linear] |
|
|
rotatePivot(rp) |
[linear, linear, linear] |
|
|
ピボット ポイントで回転変換します (-p フラグとともに使用する場合は、変換全体の回転変換に
変更が加えられるのを防ぎます)。 |
|
rotateOrder(roo) |
string |
|
|
回転の順番です(-p フラグとともに使用する場合は、 ローカル回転にオリジナルのものと同等になるよう修正を加え、
変換全体を保持します)。 このフラグに対する有効な値は、 <xyz | yzx | zxy | xzy | yxz |
zyx> です。 |
|
rotateAxis(ra) |
[angle, angle, angle] |
|
|
回転軸の方向です(-p フラグとともに使用する場合は、 回転全体における、軸回転の補正のために回転に
変更が加えられるのを防ぎます)。 |
|
rotation(ro) |
[angle, angle, angle] |
|
|
rotateTranslation(rt) |
[linear, linear, linear] |
|
|
translation(t) |
[linear, linear, linear] |
|
|
matrix(m) |
[float, float, float, float, float,
float, float, float, float, float, float, float, float, float,
float, float] |
|
|
変換行列を作成または返します。 *注* 行列は、列の順番で指定される 16 個の double
型の引数で表されます。 |
|
boundingBox(bb) |
boolean |
|
|
オブジェクトのバウンディング ボックスを返します。戻り値は次の順序で戻されます: x の最小値、y の最小値、z の最小値、x
の最大値、y の最大値、z の最大値 |
|
boundingBoxInvisible(bbi) |
boolean |
|
|
オブジェクトのバウンディング ボックスを返します。boundingBox フラグを使用した場合は、
含まれないすべての非表示の子の バウンディング ボックスも含まれます。戻り値は次の順序で返されます。x の最小値、y の最小値、z
の最小値、x の最大値、y の最大値、z の最大値 |
|
pivots(piv) |
[linear, linear, linear] |
|
|
回転とピボットのスケールを同時に変更する 便利な方法です(詳細は -rp -sp フラグを参照)。 |
|
centerPivots(cp) |
boolean |
|
|
ピボット ポイントを、オブジェクトのバウンディング ボックスの 中心に設定します(-p フラグを参照)。 |
|
zeroTransformPivots(ztp) |
boolean |
|
|
移動チャンネルにこれらの値を適用することにより、 行列全体を変更せずに ピボット
ポイントとピボットの移動をリセットします。 |
|
: コマンドの作成モードで使用可能なフラグ |
: コマンドの編集モードで使用可能なフラグ |
: コマンドの照会モードで使用可能なフラグ |
: タプルまたはリストとして渡された複数の引数を持てるフラグ |
import maya.cmds as cmds
# create object to manipulate
cmds.sphere( n='sphere1' )
# set rotation of sphere
cmds.xform( r=True, ro=(0, 90, 0) )
# change the rotate order but preserve the overall transformation
cmds.xform( p=True, roo='yzx' )