修正 > トランスフォーム ツール > 比例修正ツール(Modify > Transformation Tools > Proportional Modification Tool)
修正タイプ(Modification Type)
- ワールド(World)
-
- パラメトリック(NURBS)(Parametric (NURBS))
-
修正減衰(Modification Falloff): リニア(Linear)
これがデフォルトの修正減衰です。修正はリニアに行われます。また、影響遮断距離(Distance Cutoff)オプションが表示されます。
- 影響遮断距離(Distance Cutoff)
-
マニピュレータ ハンドルからの距離がこの値を超えるオブジェクトやコンポーネントは無視されます。マニピュレータ ハンドルからの距離は、3D 距離で測定されます。パラメトリック(NURBS)(Parametric (NURBS))での修正の場合、影響遮断距離 U(Distance Cutoff U)と影響遮断距離 V(Distance Cutoff V)を設定します。
- 距離により影響(Distance Based On)
-
このオプションではマニピュレータ ハンドルからオブジェクトまでの距離が修正の割合に直接影響します。軸を選択すると、その軸方向のみの距離が計算されます。いずれのオプションもオフに設定すると、propmod 効果の計算に使用されるハンドルからポイントまでの距離は測定されず、コンポーネントは無視されます。
修正減衰(Modification Falloff): 累乗(Power)
比例修正ツール(Proportional Modification Tool)を使用して修正減衰で累乗を選択し、次数(Degree)を +5 から -5 の範囲で設定すると、減衰がノンリニアに行われます(論理カーブを形成)。ただし、次数に 1 を設定すると、減衰はリニアに戻ります。
- 影響遮断距離(Distance Cutoff)
-
マニピュレータ ハンドルからの距離がこの値を超えるオブジェクトやコンポーネントは無視されます。マニピュレータ ハンドルからの距離は、3D 距離で測定されます。パラメトリック(NURBS)(Parametric (NURBS))での修正の場合、影響遮断距離 U(Distance Cutoff U)と影響遮断距離 V(Distance Cutoff V)を設定します。
- 次数(Degree)
-
U および V 方向における効果の度合いを指定します。数値を 0 に設定すると、全領域にわたって等距離の移動が適用されます。
正の値を設定すると、マニピュレータ ハンドルから遠いオブジェクトほど移動量が減少し ます。この値が大きくなるほど、ダンプ エフェクトが大きくなります。
次数(Degree)に負の値を設定すると、マニピュレータ ハンドルから遠いオブジェクトほど移動量が増大します。
- 距離により影響(Distance Based On)
-
このオプションではマニピュレータ ハンドルからオブジェクトまでの距離が修正の割合に直接影響します。軸を選択すると、その軸方向のみの距離が計算されます。
修正減衰(Modification Falloff): スクリプト(Script)
この方法は、MEL(Maya Embedded Language)スクリプトを使用して減衰効果を定義します。
適切なパラメータを設定してから、スクリプト オプションを選択してユーザ指定スクリプト(User Defined Script)フィールドにその設定のコマンドを入力すると、実際にその機能を起動しなくてもカレント パラメータの設定を保存できます。後でその設定を再び使用する場合は、リファレンス エディタ(Reference Editor)からそのツールのスクリプトを読み出して使用することができます。
- ユーザ指定スクリプト(User Defined Script)
-
移動係数を返すためのスクリプトを指定します。スクリプトに入力する値は、float(浮動小数点型)です。最初の 3 つの値は、マニピュレータ ハンドルの位置を表します。次の 3 つの値は、移動後のポイントの位置を表します。たとえば、スクリプトが
1 を返すポイントは、マニピュレータ ハンドルと一緒に移動します。スクリプトが 0.5 を返すポイントは、マニピュレータ ハンドルの半分の割合で移動します。
修正減衰(Modification Falloff): カーブ(Curve)
このオプションは、アニメーション カーブを使用して減衰効果を作り出します。修正係数の生成に、アニメーション カーブのプロファイルを使用します。
- アニメーション カーブ(Anim. Curve)
-
設定済みのアニメーション カーブの名前を入力します。アニメーション カーブの垂直方向が修正係数に割り当てられます。距離はアニメーション カーブの時間軸(秒単位)に割り当てられます。
入力フィールドの右側にあるプルダウン リストから、propModAnimCurve で始まる名前のアニメーション カーブをすべてリスト表示して選択することができます。また、このプルダウン リストから新規作成(Create New)を選択して、新しく作成することも可能です。
- U スケール(Scale U)、V スケール(Scale V)
-
パラメトリック(NURBS)修正(Parametric (NURBS) Modification)タイプの場合専用です。
- 距離により影響(Distance Based On)
-
このオプションではマニピュレータ ハンドルからオブジェクトまでの距離が修正の割合に直接影響します。軸を選択すると、その軸方向のみの距離が計算されます。
修正減衰(Modification Falloff): NURBS カーブ(NURBS Curve)
ワールド修正(World Modification)タイプの場合専用です。このオプションは、NURBS カーブを利用して減衰効果を作り出します。修正係数の生成に、NURBS カーブのプロファイルを使用します。
設定済みの NURBS カーブの名前を入力します。アニメーション カーブの垂直方向が修正係数に割り当てられます。距離は NURBS カーブに割り当てられます。
入力フィールドの右側にあるプルダウン リストから、NURBS カーブをすべてリスト表示して選択することができます。
PropMod スクリプトの使用方法
PropMod スクリプトは Move スクリプトに似ていますが、移動距離に関する設定が加わっている点が異なります。スクリプト(Script)オプションを使用すれば、各オブジェクトの係数を個々に計算することができます。
このユーザ定義のスクリプトは、マニピュレータの位置とオブジェクトの位置を考慮します。スクリプトから返される値は、特定のオブジェクトの倍数として使用されます。
例
Scripts ディレクトリに次のような myPropMove.mel ファイルを作成します。
global proc float myPropMove
(float $mx, float $my, float $mz,
float $px, float $py, float $pz)
{
float $value = rand (1.0);
return $value;
}
このスクリプトは、0 から 1 の値をランダムに生成します。
myPropMove をスクリプト名として選択すると、選択したすべてのポイントにランダムな移動係数が与えられます。