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

概要

stitchSurface( [surfaceIsoparm] [surfaceIsoparm] , [bias=float], [caching=boolean], [cascade=boolean], [constructionHistory=boolean], [cvIthIndex=int], [cvJthIndex=int], [fixBoundary=boolean], [keepG0Continuity=boolean], [keepG1Continuity=boolean], [name=string], [nodeState=int], [numberOfSamples=int], [object=boolean], [parameterU=float], [parameterV=float], [positionalContinuity=boolean], [replaceOriginal=boolean], [stepCount=int], [tangentialContinuity=boolean], [togglePointNormals=boolean], [togglePointPosition=boolean], [toggleTolerance=boolean], [tolerance=linear], [weight0=float], [weight1=float])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

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

stitchSurface コマンドは、サーフェスのコントロール頂点(CV)だけを調整して、2 つのサーフェスを連続的な G (0)および/または G (1)になるように位置合わせします。2 つのサーフェスは、ステッチする 2 つのアイソパラム境界エッジを指定するとステッチできます。2 つのサーフェスがステッチされるエッジは、2 つのエッジの加重平均を求めることで得られます。2 つのエッジのウェイトは、それぞれフラグ -wt0、-wt1 を使用して指定します。

戻り値

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

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

フラグ

bias, caching, cascade, constructionHistory, cvIthIndex, cvJthIndex, fixBoundary, keepG0Continuity, keepG1Continuity, name, nodeState, numberOfSamples, object, parameterU, parameterV, positionalContinuity, replaceOriginal, stepCount, tangentialContinuity, togglePointNormals, togglePointPosition, toggleTolerance, tolerance, weight0, weight1
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
bias(b) float createqueryedit
入力サーフェスとステッチの結果の中間に複数の CV をブレンドします。値 0.0 は入力サーフェスを返します。
既定: 1.0
caching(cch) boolean createqueryedit
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
cvIthIndex(ci) int createqueryeditmultiuse
入力サーフェス上の i 番目の境界 CV インデックスです。
既定: -1
cvJthIndex(cj) int createqueryeditmultiuse
入力サーフェス上の j 番目の境界 CV インデックスです。
既定: -1
fixBoundary(fb) boolean createqueryedit
G1 コンストレイントに対して解決するときに複数の境界 CV を固定します。
既定: false
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
parameterU(u) float createqueryeditmultiuse
ポイント コンストレイントに対するサーフェスの U パラメータ値です。
既定: -10000
parameterV(v) float createqueryeditmultiuse
ポイント コンストレイントに対するサーフェスの V パラメータ値です。
既定: -10000
positionalContinuity(pc) boolean createqueryeditmultiuse
マルチ インデックスに対応したエッジで G0 連続性をオン(オフ)に切り替えます。
既定: true
stepCount(sc) int createqueryeditmultiuse
離散化の数に対するステップの回数です。
既定: 20
tangentialContinuity(tc) boolean createqueryeditmultiuse
マルチ インデックスに対応したエッジ間で G1 連続性をオン(オフ)に設定します。
既定: false
togglePointNormals(tpn) boolean createqueryedit
サーフェスの法線ポイント コンストレイをオン(オフ)に設定します。
既定: false
togglePointPosition(tpp) boolean createqueryedit
サーフェスの位置ポイント コンストレイントをオン(オフ)に設定します。
既定: true
toggleTolerance(tt) boolean createqueryeditmultiuse
指定した離散化ステップで許容値を使用するためにオン(オフ)に設定します。
既定: false
tolerance(tol) linear createqueryeditmultiuse
エッジを離散化する際に使用する許容値です。
既定: 0.1
共通のフラグ
cascade(c) boolean create
作成されたステッチ ノードを重ねます(サーフェスのステッチ ヒストリがある場合のみ)。
既定は false です。
constructionHistory(ch) boolean create
コンストラクション ヒストリをオンまたはオフにします。
keepG0Continuity(kg0) boolean create
位置連続性を使用してステッチします。
既定は true です。
keepG1Continuity(kg1) boolean create
接線連続性を使用してステッチします。
既定は false です。
name(n) string create
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
numberOfSamples(ns) int create
エッジ上のサンプル数。
既定は 20 です。
object(o) boolean create
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
replaceOriginal(rpo) boolean create
「同じ位置」に作成(つまり置き換え)します。
weight0(wt0) float create
1 番目のエッジのウェイト付け係数。
既定は 0.5 です。
weight1(wt1) float create
2 番目のエッジのウェイト付け係数。
既定は 0.5 です。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

# Stitch the two surfaces along the two specified surface isoparam with C0 continuity.
# Since wt0 = 0.0, both the surfaces are stitched to surface2.vn[0] really.
cmds.stitchSurface( 'surface1.vn[1.0]', 'surface2.vn[0.0]', kg0=False, kg1=True, cascade=False, ns=100, wt0=0.0, wt1=1.0 )