ジャンプ先: 概要. 戻り値.
フラグ. Python 例.
makeIdentity( [dagObject] , [apply=boolean], [jointOrient=boolean], [normal=uint], [rotate=boolean], [scale=boolean], [translate=boolean])
注意:
オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。
makeIdentity は 「元に戻す」が可能、「照会」が不可能、「編集」が不可能 です。
選択したトランスフォーム、およびシェイプレベルまでのすべての子を ID
変換でリセットする、高速な方法です。選択したトランスフォーム結果から適用されるトランスフォーム、回転、スケールを指定することもできます。
ID 変換には以下の意味があります。
- translate = 0, 0, 0
- rotate = 0, 0, 0
- scale = 1, 1, 1
- shear = 1, 1, 1
トランスフォームがジョイントである場合、「translate」アトリビュートは 0
でないことがありますが、ジョイントを配置してワールド空間での位置を保持するために使用されます。ジョイントはワールド空間での位置を保持する必要があるので、translate
フラグはジョイントに適用されません。rotate フラグと scale フラグのみが、ジョイントに適用されると効果があります。
-a/apply フラグを true
にすると、リセットされるトランスフォームは累積され、修正されたトランスフォームの下にあるすべてのシェイプに適用されるので、シェイプは移動しません。ピボット位置は、ワールド空間で移動しないように再計算されます。
このフラグを false にすると、位置を保持するように変更せずに、トランスフォームが ID にリセットされます。
なし
apply, jointOrient, normal, rotate,
scale, translate
ロング ネーム(ショート ネーム) |
引数型 |
プロパティ |
apply(a) |
boolean |
|
|
true にすると、トランスフォーム ピボットのワールド空間での位置が保持されてシェイプが移動しないように、トランスフォームが
ID になった後で、累積されたトランスフォームがシェイプに適用されます。デフォルトは false です。 |
|
translate(t) |
boolean |
|
|
true にすると、平行移動のみがシェイプに適用されます。 平行移動は、0, 0, 0 に変更されます。 translate
フラグ、rotate フラグ、scale フラグを指定しないと、すべての(t, r, s)が適用されます。 (注: translate
フラグは、ジョイントに適用しても効果がありません。ジョイントではワールド空間での位置が保持されるからです。このフラグはジョイントに影響しません。 |
|
rotate(r) |
boolean |
|
|
true にすると、回転のみがシェイプに適用されます。 回転は、0, 0, 0 に変更されます。 translate
フラグ、rotate フラグ、scale フラグを指定しないと、すべての(t, r, s)が適用されます。 |
|
scale(s) |
boolean |
|
|
true にすると、スケールのみがシェイプに適用されます。 スケール係数は、1, 1, 1 に変更されます。
translate フラグ、rotate フラグ、scale フラグを指定しないと、すべての(t, r,
s)が適用されます。 |
|
jointOrient(jo) |
boolean |
|
|
設定すると、ジョイントの方向がリセットされワールド座標空間にアラインされます。 |
|
normal(n) |
uint |
|
|
1 に設定すると、ポリゴン オブジェクトの法線がフリーズ(ロック)されます。このフラグは、-apply
フラグがオンの場合のみ有効です。 2 に設定すると、ポリゴン
オブジェクトの法線はリジッドでない変換行列、つまりシア、傾斜または不均等スケールなどを含まないトランスフォームの場合のみフリーズされます。
デフォルトでは法線はフリーズされません。 |
|
: コマンドの作成モードで使用可能なフラグ |
: コマンドの編集モードで使用可能なフラグ |
: コマンドの照会モードで使用可能なフラグ |
: タプルまたはリストとして渡された複数の引数を持てるフラグ |
import maya.cmds as cmds
# Example 1: Create a hierarchical object, for example a
# car. Scale the tires, translate the doors into place, rotate the
# steering wheel, then select the group node above the car, and type:
cmds.makeIdentity( apply=True )
# The car should not move.
cmds.move( 3, 0, 0 )
# The car should move exactly 3 units to (3, 0, 0), since
# the previous makeIdentity command set its translation to (0, 0, 0).
cmds.makeIdentity()
# The car should return to the same position as before the move.
# Example 2: Create a curve and translate, rotate and scale it.
# Then group it and translate, rotate and scale the group.
cmds.makeIdentity( 'group1', apply=True, translate=True )
# The curve will not move, but both the curve transform's and group
# transform's translation will be set to 0, 0, 0. The rotation and
# scale will remain the same.
cmds.makeIdentity( 'group1', apply=True, rotate=True )
# The curve will not move, but both the curve transform's and group
# transform's rotation will be set to 0, 0, 0. The translation and
# scale will remain the same.
cmds.makeIdentity( 'group1', apply=True, scale=True )
# The curve will not move, but both the curve transform's and group
# transform's scale will be set to 1, 1, 1. The translation and rotation
# will remain the same.
cmds.makeIdentity( 'group1', apply=True, translate=True, rotate=True )
# The curve will not move, but both the curve transform's and group
# transform's translation and rotation will be set to 0, 0, 0.
# The scale will remain the same.
cmds.makeIdentity( 'group1', apply=False, translate=True )
# The curve transform and group transform will have their translation
# set to 0, 0, 0. The curve will probably move, since the apply
# flag is false.
cmds.makeIdentity( apply=True, translate=True, rotate=True, scale=True )
# This is the same as "makeIdentity -apply true".
# Example 3: Create a polyCube and translate, rotate and scale it.
# And then freeze the normals.
cmds.polyCube()
cmds.rotate( 30, 45, 0 )
cmds.move( 2, 0, 2, r=True )
cmds.scale( 2, 1, 2, r=True )
cmds.makeIdentity( apply=True, t=1, r=1, s=1, n=2 )