移動先: 概要 Notes. 戻り値 関連項目 フラグ MEL の例

概要

xform [-absolute] [-boundingBox] [-boundingBoxInvisible] [-centerPivots] [-euler] [-matrix float float float float float float float float float float float float float float float float] [-objectSpace] [-pivots linear linear linear] [-preserve boolean] [-relative] [-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] [-worldSpaceDistance] [-zeroTransformPivots] [objects...]

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) create
絶対値による変換を実行します (デフォルト)。
-relative(-r) create
相対値による変換を実行します。
-euler(-eu) create
回転値を指定する -relative フラグの修飾子で、 現在の XYZ 回転値に加算されます。
-objectSpace(-os) createquery
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な) オブジェクト空間の変換値として値を扱います。
-worldSpace(-ws) createquery
(ピボット、移動、回転、回転軸、マトリックス、 バウンディング ボックス、フラグのみに有効な) ワールド空間の変換値として値を扱います。
-worldSpaceDistance(-wd) 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) query
オブジェクトのバウンディング ボックスを返します。戻り値は次の順序で戻されます: x の最小値、y の最小値、z の最小値、x の最大値、y の最大値、z の最大値
-boundingBoxInvisible(-bbi) query
オブジェクトのバウンディング ボックスを返します。boundingBox フラグを使用した場合は、 含まれないすべての非表示の子の バウンディング ボックスも含まれます。戻り値は次の順序で返されます。x の最小値、y の最小値、z の最小値、x の最大値、y の最大値、z の最大値
-pivots(-piv) linear linear linear createquery
回転とピボットのスケールを同時に変更する 便利な方法です(詳細は -rp -sp フラグを参照)。
-centerPivots(-cp) create
ピボット ポイントを、オブジェクトのバウンディング ボックスの 中心に設定します(-p フラグを参照)。
-zeroTransformPivots(-ztp) create
移動チャンネルにこれらの値を適用することにより、 行列全体を変更せずに ピボット ポイントとピボットの移動をリセットします。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : 1 つのコマンドで複数回使用可能なフラグ

MEL の例

// create object to manipulate
sphere -n sphere1;

// set rotation of sphere
xform -r -ro 0 90 0;

// change the rotate order but preserve the overall transformation
xform -p true -roo yzx;