ジャンプ先: 概要. . 戻り値. 関連. フラグ. Python 例.

概要

xform( [objects...] , [absolute=boolean], [boundingBox=boolean], [boundingBoxInvisible=boolean], [centerPivots=boolean], [deletePriorHistory=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], [preserveUV=boolean], [reflection=boolean], [reflectionAboutBBox=boolean], [reflectionAboutOrigin=boolean], [reflectionAboutX=boolean], [reflectionAboutY=boolean], [reflectionAboutZ=boolean], [reflectionTolerance=float], [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 | = スケール ピボット行列
|  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],
|  0       0       0       1 |    [ry], [rz]を参照)
[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, deletePriorHistory, euler, matrix, objectSpace, pivots, preserve, preserveUV, reflection, reflectionAboutBBox, reflectionAboutOrigin, reflectionAboutX, reflectionAboutY, reflectionAboutZ, reflectionTolerance, 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 回転値に加算されます。
deletePriorHistory(dph) boolean create
true の場合、操作が実行される前にコンストラクション ヒストリが削除されます。
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 フラグとともに使用する場合は、ローカル回転にオリジナルのものと同等になるよう修正を加え、変換全体を保持します)。このフラグに対する有効な値は、<xyz | yzx | zxy | xzy | yxz | zyx> です。
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 フラグを参照)。
preserveUV(puv) boolean create
true の場合、回転されるコンポーネント上の UV 値は、3D 空間の回転から投影されます。小さな編集では、これによりワールド空間のオブジェクト上のテクスチャ マッピングがフリーズします。false の場合は、選択した頂点の UV 値は変更されません。既定は false です。
reflection(rfl) boolean create
対応する対称的なコンポーネントも移動します。
reflectionAboutOrigin(rao) boolean create
原点に対称軸の位置を設定します。
reflectionAboutBBox(rab) boolean create
対称軸の位置をジオメトリのバウンディング ボックスに設定します。
reflectionAboutX(rax) boolean create
X=0 を対称プレーンとして指定します。
reflectionAboutY(ray) boolean create
Y=0 を対称プレーンとして指定します。
reflectionAboutZ(raz) boolean create
Z=0 を対称プレーンとして指定します。
reflectionTolerance(rft) float create
対応する対称コンポーネントを見つける許容値を指定します。
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' )