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

概要

rebuildSurface [-caching boolean] [-constructionHistory boolean] [-degreeU int] [-degreeV int] [-direction int] [-endKnots int] [-fitRebuild int] [-keepControlPoints boolean] [-keepCorners boolean] [-keepRange int] [-name string] [-nodeState int] [-object boolean] [-polygon int] [-rebuildType int] [-replaceOriginal boolean] [-spansU int] [-spansV int] [-tolerance linear] surface [surface]

rebuildSurface は、取り消し可能、照会可能、および編集可能です。

パラメータ設定を修正してサーフェスをリビルドします。サーフェスのシェイプも変化することがあります。サーフェスの再構築方法は、rebuildType (-rt)アトリビュートで決まります。

オプションの 2 番目のサーフェスは、リファレンス パラメータ設定の指定に使用できます。

戻り値

string[]オブジェクト名とノード名

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

フラグ

caching, constructionHistory, degreeU, degreeV, direction, endKnots, fitRebuild, keepControlPoints, keepCorners, keepRange, name, nodeState, object, polygon, rebuildType, replaceOriginal, spansU, spansV, tolerance
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
-caching(-cch) boolean createqueryedit
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
-degreeU(-du) int createqueryedit
作成するサーフェスの U 方向の次数。0 - 現在の値を維持、1 - 一次、2 - 二次、3 - 三次、5 - 五次、7 - 七次。
既定: 3
-degreeV(-dv) int createqueryedit
作成するサーフェスの U 方向の次数。0 - 現在の値を維持、1 - 一次、2 - 二次、3 - 三次、5 - 五次、7 - 七次。
既定: 3
-direction(-dir) int createqueryedit
再構築する方向。0 - U、1 - V、2 - U と V の両方。
既定: 2
-endKnots(-end) int createqueryedit
サーフェスのエンド ノットの状態。0 - 均一エンド ノット、1 - 多重エンド ノット。
既定: 0
-fitRebuild(-fr) int createqueryedit
使用するリビルド方法のタイプを指定します。0 - 従来の手法で変換(オリジナルの変換方法。既定です)。1 - 最小二乗法を使用してフィット。2 - 一致を変換(一致ング変換方法の代替)。3 - グリッドで変換(グリッドベースのフィット アルゴリズムを使用)。
既定: 0
-keepControlPoints(-kcp) boolean createqueryedit
入力サーフェスのコントロール ポイントを使用します。rebuildType が 2 (matchKnots)でない場合、強制的に均一なパラメータ設定になります。
既定: false
-keepCorners(-kc) boolean createqueryedit
作成するサーフェスのコーナーを、入力サーフェスのコーナーから変更しません。
既定: true
-keepRange(-kr) int createqueryedit
作成するサーフェスのパラメータ設定を決定します。0 - 作成するサーフェスのパラメータを 0 から 1 で再配置、1 - 元のサーフェスのパラメータ設定を維持、2 - 結果のパラメータを 0 からスパン数に再設定。
既定: 1
-nodeState(-nds) int createqueryedit

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
-rebuildType(-rt) int createqueryedit
再構築のタイプ。0 - 均一、1 - スパンの削減、2 - ノット一致ング、3 - 多重ノットの除去、4 - 非有理の強制、5 - 終端のリビルド、6 - トリムの変換(均一)、7 - ベジェ メッシュへ。
既定: 0
-spansU(-su) int createqueryedit
作成するサーフェスの、U 方向のスパン数。rebuildType が 0 (均一)のときにのみ使用されます。0 の場合は、オリジナル サーフェスと同数のスパンを維持します。
既定: 4
-spansV(-sv) int createqueryedit
作成するサーフェスの、V 方向のスパン数。rebuildType が 0 (均一)のときにのみ使用されます。0 の場合は、オリジナル サーフェスと同数のスパンを維持します。
既定: 4
-tolerance(-tol) linear createqueryedit
リビルドする際の許容差。
既定: 0.01
共通のフラグ
-constructionHistory(-ch) boolean create
コンストラクション ヒストリをオンまたはオフにします。
-name(-n) string create
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
-object(-o) boolean create
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
-polygon(-po) int create
この引数の値は、この操作で作成されるオブジェクトのタイプを制御します。
  • 0: NURBS サーフェス
  • 1: ポリゴン(nurbsToPolygonsPref を使用して変換用のパラメータを設定)
  • 2: サブディビジョン サーフェス(nurbsToSubdivPref を使用して変換用のパラメータを設定)
  • 3: ベジェ サーフェス
  • 4: サブディビジョン サーフェス ソリッド(変換のためのパラメータを設定するには、nurbsToSubdivPref を使用)
-replaceOriginal(-rpo) boolean create
「同じ位置」に作成(つまり置き換え)します。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます コマンド内でフラグを複数回使用できます。

MEL 例

// rebuild the surface using uniform parameterization
// The rebuilt surface will have 5 spans in u and
// 10 spans in v
rebuildSurface -rt 0 -dir 2 -su 5 -sv 10;

// rebuild the surface by removing its redundant spans
rebuildSurface -rt 1;

// rebuild the surface by matching the u parameterization
// of another surface. surface1 is the surface to rebuild
// surface2 is the reference surface
rebuildSurface -rt 2 -dir 0 surface1 surface2;

// rebuild the surface by removing all multiple interior knots
rebuildSurface -rt 3;

// rebuild the surface using uniform parameterization
rebuildSurface -rt 4;