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

概要

polyWedgeFace([axis=[float, float, float]], [caching=boolean], [center=[float, float, float]], [constructionHistory=boolean], [divisions=int], [edge=int], [name=string], [nodeState=int], [wedgeAngle=angle], [worldSpace=boolean])

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

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

軸を中心にフェースを押し出します。軸とはすべての選択したエッジの平均です。エッジが位置合わせされていない場合は、ウェッジが確認できないことがあります。フェースを異なるウェッジ軸で別々にウェッジするためには、ウエッジ軸の数だけコマンドを実行しなければなりません(2 つめの例を参照)。

戻り値

stringノード名

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

関連

polyChipOff, polyExtrudeEdge, polyExtrudeFacet

フラグ

axis, caching, center, constructionHistory, divisions, edge, name, nodeState, wedgeAngle, worldSpace
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
Common poly modifier operation flags
axis(ax) [float, float, float] create
このフラグ(-center と共に使用)を、-edge フラグの代わりに使用して、ウェッジが実行される軸を指定できます。このフラグには、それを中心として回転を実行するベクトルを形成する 3 つの座標が必要です。
caching(cch) boolean createqueryedit
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
center(cen) [float, float, float] create
このフラグ(-axis と共に使用)を、-edge フラグの代わりに使用して、ウェッジが実行される位置を指定できます。このフラグには、回転の中心を定義する 3 つの座標が必要です。
constructionHistory(ch) boolean createquery
コンストラクション ヒストリをオンまたはオフにします(適切な場合)。コンストラクション ヒストリがオンの場合、対応するノードがメッシュのヒストリ チェーンに挿入されます。コンストラクション ヒストリがオフの場合、操作オブジェクト上に直接行われます。
注: コンストラクション ヒストリがすでにオブジェクトにある場合は、このフラグは無視され、ノードは必ずヒストリ チェーンに挿入されます。
divisions(d) int create
押し出しに沿ったサブディビジョンの数を指定します。
edge(ed) int createmultiuse
このフラグは、ウエッジ処理に使用する edgeId を指定します。複数のエッジを指定できます。ウエッジ操作は、すべてのエッジの平均である軸を中心に実行されます。同一リニア上に並んだエッジのみを使うことをお勧めします。そうでない場合、結果が確認できないことがあります。

-edge フラグを指定する代わりに、ウェッジは点と軸を中心として実行できます。詳細については、-center フラグおよび -axis フラグを参照してください。

name(n) string create
作成されるノードに名前をつけます。
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

wedgeAngle(wa) angle create
回転角度を指定します。
worldSpace(ws) boolean createqueryedit
このフラグは、使用するリファレンスを指定します。オンの場合: すべてのジオメトリ値はワールド リファレンスで考慮されます。オフの場合: すべてのジオメトリ値はオブジェクト リファレンスで考慮されます。
C: 既定はオフです。
Q: 照会すると int を返します。

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

Python 例

import maya.cmds as cmds

cmds.polyPlane( n='plg', w=10, h=10 )

# Wedge about a single axis
cmds.polyWedgeFace( 'plg.f[24:29]', 'plg.f[34]', 'plg.f[44]', 'plg.f[54]', 'plg.f[64]', 'plg.f[74:79]', ws=1, wedgeAngle=90, divisions=8, ed=(62,167), ch=1 )

# Wedge about multiple axes (one axis for each command)
cmds.polyCube( n='plg', w=1, h=1, d=1, sx=4, sy=4, sz=4, ax=(0, 1, 0), tx=1, ch=1 )
cmds.polyWedgeFace( 'plg.f[64:79]', ws=1, wedgeAngle=90, divisions=9, ed=(128, 133, 138, 143), ch=1 )
cmds.polyWedgeFace( 'plg.f[0:15]', ws=1, wedgeAngle=90, divisions=9, ed=(0, 1, 2, 3), ch=1 )
cmds.polyWedgeFace( 'plg.f[80:95]', ws=1, wedgeAngle=90, divisions=9, ed=(100, 105, 110, 115), ch=1 )
cmds.polyWedgeFace( 'plg.f[32:47]', ws=1, wedgeAngle=90, divisions=9, ed=(36, 37, 38, 39), ch=1 )