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

概要

polyMergeVertex([alwaysMergeTwoVertices=boolean], [caching=boolean], [constructionHistory=boolean], [distance=linear], [mergeToComponents=string], [name=string], [nodeState=int], [texture=boolean])

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

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

指定しきい値内の頂点をマージします。
同じオブジェクト上に存在する頂点はすべてマージできるため、作成されたジオメトリが非多様体になる可能性があります。

まず、選択した頂点のペアが比較されます。相互に特定距離内にあるペアが、中間のエッジとともにマージされます。

次に、頂点間の距離が指定距離以内である場合、エッジを共有する、選択した頂点がすべてマージされます。

エッジのマージとは異なり、頂点のマージでは、頂点を結ぶエッジの向きが一致していなくても(つまり、隣接フェースの法線が同じ方向を向いていなくても)マージが実行されます。この制限事項が頂点のマージでは強制されないので、作成されたジオメトリは非多様体になることがあります。

alwaysMergeTwoVertices が設定されているときに、頂点が 2 つしかない場合、許容値は無視され、頂点はマージされます。

作成されたメッシュには、ジオメトリを有効にするために頂点かエッジが余分に含まれることがあります。

戻り値

stringノード名

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

関連

polyCloseBorder, polyCollapseEdge, polyCollapseFacet, polyDelEdge, polyDelFacet, polyDelVertex, polyMergeEdge, polyMergeFacet, polyQuad, polyReduce, polySewEdge

フラグ

alwaysMergeTwoVertices, caching, constructionHistory, distance, mergeToComponents, name, nodeState, texture
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
alwaysMergeTwoVertices(am) boolean createqueryedit
このフラグは、距離に関係なく、頂点が 2 つしか選択されていない場合は常にマージするかどうかを指定します。
C: 既定は false です。
Q: 照会すると boolean を返します。
distance(d) linear createqueryedit
距離を指定します。この距離以内である場合、頂点はマージされます。
C: 既定は 0.0 です(つまり、頂点が一致している場合)。
Q: 照会すると double を返します。
mergeToComponents(mtc) string createqueryedit
オプションで、すべての頂点のマージ位置を定義します。設定した場合、距離フラグは無視され、代わりに設定コンポーネントの中心点が計算され、頂点はすべてその位置にマージされます。
C: 既定は空文字列です。
Q: 照会すると string を返します。
texture(tx) boolean createqueryedit
このフラグは、3D エッジに加えてテクスチャも縫合するかどうかを指定します。
C: 既定は true です。
Q: 照会すると boolean を返します。
共通のフラグ
caching(cch) boolean createedit
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
constructionHistory(ch) boolean createquery
コンストラクション ヒストリをオンまたはオフにします(適切な場合)。コンストラクション ヒストリがオンの場合、対応するノードがメッシュのヒストリ チェーンに挿入されます。コンストラクション ヒストリがオフの場合、操作オブジェクト上に直接行われます。
注: コンストラクション ヒストリがすでにオブジェクトにある場合は、このフラグは無視され、ノードは必ずヒストリ チェーンに挿入されます。
name(n) string create
作成されるノードに名前をつけます。
nodeState(nds) int createqueryedit
ノードの評価方法を定義します。
  • 0: Normal
  • 1: PassThrough
  • 2: Blocking
  • 3: 内部的に無効。有効にすると、Normal 状態に戻ります。
  • 4: 内部的に無効。有効にすると、PassThrough 状態に戻ります。
  • 5: 内部的に無効。有効にすると、Blocking 状態に戻ります。

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

Python 例

import maya.cmds as cmds

cmds.polyPlane( sx=5, sy=5, n='plg1' )
cmds.polyPlane( sx=5, sy=5, n='plg2' )
cmds.move( 0.55, 0, -1.25, 'plg1', ws=True )
cmds.move( -0.55, 0, -1.25, 'plg2', ws=True )
cmds.polyPlane( sx=5, sy=5, n='plg3' )
cmds.polyPlane( sx=5, sy=5, n='plg4' )
cmds.polyPlane( sx=5, sy=5, n='plg5' )
cmds.move( 0.55, 0, 1.25, 'plg4', ws=True )
cmds.move( -0.55, 0, 1.25, 'plg5', ws=True )

# First method:
cmds.polyUnite( 'plg1Shape', 'plg2Shape' )
cmds.select( 'polySurface1.vtx[6]', 'polySurface1.vtx[12]', 'polySurface1.vtx[18]', 'polySurface1.vtx[24]', 'polySurface1.vtx[47]', 'polySurface1.vtx[53]', 'polySurface1.vtx[59]', 'polySurface1.vtx[65]', r=True )
cmds.polyMergeVertex( d=0.15 )

# Second method:
cmds.polyMergeVertex( 'plg3.vtx[24]', 'plg3.vtx[30:31]', 'plg3.vtx[8:10]', 'plg3.vtx[14:16]', 'plg3.vtx[20:22]', d=0.25 )

# To create non-manifold geometry:
cmds.polyUnite( 'plg4Shape', 'plg5Shape' )
cmds.select( 'polySurface2.vtx[0]', 'polySurface2.vtx[6]', 'polySurface2.vtx[12]', 'polySurface2.vtx[18]', 'polySurface2.vtx[24]', 'polySurface2.vtx[30]', 'polySurface2.vtx[41]', 'polySurface2.vtx[47]', 'polySurface2.vtx[53]', 'polySurface2.vtx[59]', 'polySurface2.vtx[65]', 'polySurface2.vtx[71]', r=True )
cmds.polyMergeVertex( d=0.25 )
# Note that there is only one vertex at this merged point and the
# resulting polygonal object is non-manifold;()