ジャンプ先: 概要. 戻り値. フラグ. MEL 例.
reverseCurve [-caching boolean] [-constructionHistory boolean] [-curveOnSurface boolean] [-name string] [-nodeState int] [-object boolean] [-range boolean] [-replaceOriginal boolean]
curve
reverseCurve は、取り消し可能、照会可能、および編集可能です。
カーブまたはカーブオン サーフェスの方向を反転します。新しく反転したカーブのパス名、および生成されたディペンデンシー ノードの名前を含む文字列が返されます。反転したカーブのパラメータ範囲は、元のカーブと同じです。
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
caching, constructionHistory, curveOnSurface, name, nodeState, object, range, replaceOriginal
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
|
-caching(-cch)
|
boolean
|
 
|
|
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
|
|
-nodeState(-nds)
|
int
|
 
|
|
Maya のディペンデンシー ノードには 6 種類の設定可能な状態があります。通常(Normal)(0)、エフェクトなし(HasNoEffect)(1)、ブロッキング(Blocking)(2)ステータスは、グラフの評価方法を変更するために使用されます。
待機 - 通常(Waiting-Normal)(3)、待機 - エフェクトなし(Waiting-HasNoEffect)(4)、待機 - ブロッキング(Waiting-Blocking)(5)は、内部でのみ使用されます。これらは、インタラクション(例: 操作)の実行中にグラフのパーツを一時的に遮断します。操作が完了すると、ステータスは適切にリセットされます(例: 待機 - ブロッキング(Waiting-Blocking) は ブロッキング(Blocking) にリセットされます)。
通常(Normal)およびブロッキング(Blocking)のケースはすべてのノードに適用できますが、エフェクトなし(HasNoEffect)はノード特定です。多くのノードはこのオプションをサポートしていません。プラグインは状態を MPxNode::state アトリビュートに保存します。誰もがこのアトリビュートを設定したり確認したりすることができます。これらの 3 つの状態に関するその他の詳細は次の通りです。
| 状態 |
説明 |
| 通常(Normal) |
通常のノードの状態です。これが既定の設定です。 |
| エフェクトなし(HasNoEffect) |
エフェクトなし(HasNoEffect)オプション(別名: 通過)は、同じデータ タイプの出力を生成する入力を操作している場合に使用されます。 ほぼすべてのデフォーマが、他のいくつかのノードと同様に、この状態をサポートします。前に説明したように、すべてのノードでサポートされるわけではありません。
ノードの計算メソッドでエフェクトなし(HasNoEffect)状態のサポートを実装し、適切な操作を実行することが一般的です。プラグインはエフェクトなし(HasNoEffect)もサポートします。
この状態を普通に実装するには、ノードにアルゴリズムを適用しないで、適合する出力に直接入力をコピーします。デフォーマの場合は、この状態を適用することにより、入力ジオメトリが出力でデフォーム解除されたままになります。
|
| ブロッキング(Blocking) |
これはディペンデンシー ノードのベース クラスで実装され、すべてのノードに適用されます。ブロッキング(Blocking)は評価フェーズ中に接続に適用されます。 ブロックされた接続に対する評価要求が失敗を返すと、目的プラグが現在の値を保持します。 ダーティな伝播はこの状態の間接的な影響を受けますが、ブロックされた接続がクリーンアップされることはありません。
ノードをブロッキング(Blocking)に設定すると、すべての送信接続が解除されたのと同じ動作になる可能性があります。 ブロックされたノードの評価を直接要求しない限り、その後に再評価されることはありません。ブロックされたノードは getAttr 要求に引き続き応答しますが、下流ノードの getAttr は、ブロックされたノードを再評価しないことに注意してください。
ブロッキング(Blocking)に対して階層のルート変換を設定しても、自動的にはこの階層の子変換に影響しません。これを実行するには、ブロッキング(Blocking)状態に対してすべての子ノードを明示的に設定する必要があります。
たとえば、すべての子トランスフォームをブロッキング(Blocking)に設定するには、次のスクリプトを使用します。 import maya.cmds as cmds def blockTree(root): nodesToBlock = [] for node in {child:1 for child in cmds.listRelatives( root, path=True, allDescendents=True )}.keys(): nodesToBlock += cmds.listConnections(node, source=True, destination=True ) for node in {source:1 for source in nodesToBlock}.keys(): cmds.setAttr( '%s.nodeState' % node, 2 )
このスクリプトを適用してオブジェクトの描画を継続できますが、アニメートは行えません。
|
既定: kdnNormal
|
|
| 共通のフラグ |
-constructionHistory(-ch)
|
boolean
|
|
|
コンストラクション ヒストリをオンまたはオフにします。
|
|
-curveOnSurface(-cos)
|
boolean
|
|
|
|
-name(-n)
|
string
|
|
|
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
|
|
-object(-o)
|
boolean
|
|
|
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
|
|
-range(-rn)
|
boolean
|
|
|
|
-replaceOriginal(-rpo)
|
boolean
|
|
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
コマンド内でフラグを複数回使用できます。
|
reverseCurve -constructionHistory on curve1;
// Reverses curve1 with construction history on. The result will
// be a string array, where the first string is the name of the new
// reversed curve and the second string is the name of the new
// dependency node.
reverseCurve -ch off -replaceOriginal on curve1;
// Reverses curve1 without construction history, replacing the original.
// The result will be a string array, where the first string
// is the name of the curve (curve1). Because history is off,
// no dependency node will be created. The reversed curve will
// replace the original curve.
reverseCurve -ch on -rpo on curve1;
// Reverses curve1 with history, trying to replace the original.
// If curve1 was not a result of construction history, then this command
// will simply replace curve1 with the reversed curve. No dependency
// node will be created.
// If curve1 was a result of construction history, then this command
// will insert a reverse dependency node before the curve. eg.
// Before reverseCurve cmd: curve0 ---> closeCurve DN ---> curve1
// After cmd: curve0 ---> closeCurve DN ---> reverseCurve DN ---> curve1
// The result will be a string array , where the first string
// is the name of the curve (curve1) and the second name is the
// new dependency node.