移動先: 概要 Notes. 戻り値 関連項目 フラグ 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

Notes

ノードに対する変換行列は、指定した順序で 次のマトリックスを後で掛け合わせて構築されます(注: 回転は回転順序パラメータに従って適用されます。以下にはこの 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 | = スケール ピボット行列 | 0 1 0 0 | | 0 0 1 0 | | -spx -spy -spz 1 |

[s] = | sx 0 0 0 | = スケール行列 | 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 create
絶対値による変換を実行します (デフォルト)。
relative(r) boolean create
相対値による変換を実行します。
euler(eu) boolean create
回転値を指定する -relative フラグの修飾子で、 現在の XYZ 回転値に加算されます。
objectSpace(os) boolean createquery
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な) オブジェクト空間の変換値として値を扱います。
worldSpace(ws) boolean createquery
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な) ワールド空間の変換値として値を扱います。
worldSpaceDistance(wd) boolean createquery
-sp、-rp、-st、-rt、-t、-piv フラグの値は、 ローカル軸に沿って動くワールド空間の 距離として扱われます。ローカル軸は、コマンドがローカル空間、または オブジェクト空間で機能しているかどうかによって異なります。 このフラグは、ワールド空間では効果がありません。
preserve(p) boolean create
変換全体を保持します。またピボットや回転順序の変更時に、 オブジェクトが「ジャンプ」するのを防ぐために使用されます。 デフォルト値は true です( -sp、-rp、-roo、-cp、-ra フラグとともに使用)。
scalePivot(sp) [linear, linear, linear] createquery
ピボット ポイントでスケール変換します (-p フラグとともに使用する場合は、トランスフォーム全体の スケール変換に変更が加えられるのを防ぎます)。
scale(s) [float, float, float] createquery
スケール変換します。
shear(sh) [float, float, float] createquery
シア変換します。 値はシアの <xy,xz,yz> を表します。
scaleTranslation(st) [linear, linear, linear] createquery
スケール移動します。
rotatePivot(rp) [linear, linear, linear] createquery
ピボット ポイントで回転変換します (-p フラグとともに使用する場合は、変換全体の回転変換に 変更が加えられるのを防ぎます)。
rotateOrder(roo) string createquery
回転の順番です(-p フラグとともに使用する場合は、 ローカル回転にオリジナルのものと同等になるよう修正を加え、 変換全体を保持します)。 このフラグに対する有効な値は、 です。
rotateAxis(ra) [angle, angle, angle] createquery
回転軸の方向です(-p フラグとともに使用する場合は、 回転全体における、軸回転の補正のために回転に 変更が加えられるのを防ぎます)。
rotation(ro) [angle, angle, angle] createquery
回転変換します。
rotateTranslation(rt) [linear, linear, linear] createquery
回転移動します。
translation(t) [linear, linear, linear] createquery
移動します。
matrix(m) [float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float] createquery
変換行列を作成または返します。 *注* 行列は、列の順番で指定される 16 個の double 型の引数で表されます。
boundingBox(bb) boolean query
オブジェクトのバウンディング ボックスを返します。戻り値は次の順序で戻されます: x の最小値、y の最小値、z の最小値、x の最大値、y の最大値、z の最大値
boundingBoxInvisible(bbi) boolean query
オブジェクトのバウンディング ボックスを返します。boundingBox フラグを使用した場合は、 含まれないすべての非表示の子の バウンディング ボックスも含まれます。戻り値は次の順序で返されます。x の最小値、y の最小値、z の最小値、x の最大値、y の最大値、z の最大値
pivots(piv) [linear, linear, linear] createquery
回転とピボットのスケールを同時に変更する 便利な方法です(詳細は -rp -sp フラグを参照)。
centerPivots(cp) boolean create
ピボット ポイントを、オブジェクトのバウンディング ボックスの 中心に設定します(-p フラグを参照)。
zeroTransformPivots(ztp) boolean create
移動チャンネルにこれらの値を適用することにより、 行列全体を変更せずに ピボット ポイントとピボットの移動をリセットします。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python の例

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' )