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

概要

evaluationManager([cycleCluster=string], [disableInfo=string], [downstreamFrom=string], [empty=boolean], [enabled=boolean], [idleAction=int], [idleBuild=boolean], [invalidate=boolean], [manipulation=boolean], [manipulationReady=boolean], [mode=string], [nodeTypeGloballySerialize=boolean], [nodeTypeParallel=boolean], [nodeTypeSerialize=boolean], [nodeTypeUntrusted=boolean], [safeMode=boolean], [upstreamFrom=string])

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

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

DG を評価する評価マネージャ メソッドをオン/オフにします。使用可能なすべての評価モードを表示するには、「mode」フラグを照会します。特別なモード「off」を指定すると、評価マネージャは無効になります。スケジュール オーバーライド フラグ ノード「nodeTypeXXX」は、ノード記述の内容に関係なく、特定のノード タイプに特定のスケジュール タイプの使用を強制します。この機能の使用には注意が必要です。ノードによっては、代替のスケジュール タイプに適切に反応しないことがあります。一度に強制されるのは、制限が最も厳しい 1 つのスケジュール タイプ オーバーライドのみです。制限が厳しい順番は、「信頼できない」、「グローバル シリアル化」、「ローカル」、「シリアル化」、「並列」です。ただし、これらのノード タイプではすべてのオーバーライドが記憶されます。たとえば、ノード タイプ オーバーライドを「信頼できない」に設定してから、「並列」に設定した場合は、信頼できないオーバーライドが引き続き使用されます。その後、信頼できないオーバーライドをオフにすると、スケジュールが並列スケジュールになります。実際のノード スケジュール タイプよりも、常にオーバーライドの方が優先します。たとえば、ノード タイプに並列オーバーライドが設定されている場合は、「シリアル」の方が制限の厳しいスケジュール タイプであるにも関わらず、シリアル ノードは並列とみなされます。オーバーライドおよびネイティブ スケジュール タイプの階層を適用した後に、特定のノードが最後に使用するスケジュール タイプを確認するには、「dbpeek」コマンドの「graph」操作に引数「evaluationGraph」および「scheduling」を指定する例を参照してください。

戻り値

string[]すべての評価マネージャ モードの名前です(フラグを指定しないで照会)。
string[]選択したノードを含むクラスタ サイクル内のすべてのノードの名前です。
boolean操作のアクティブ化または非アクティブ化に成功したかどうかを示します(「manipulation」フラグを指定)。
boolean操作がアクティブ状態であるか、または非アクティブ状態であるかを示します(「manipulation」フラグを指定して照会)。
boolean操作が許可状態または不許可状態のどちらであるかを示します(「manipulationReady」フラグを指定して照会)。
boolean評価マネージャ モードの設定に成功したかどうかを示します(「mode」フラグを指定)。
boolean評価マネージャのアイドル アクションの設定に成功したかどうかを示します(「idleAction」フラグを指定)。
boolean評価グラフにノードがある場合は false (偽)を返します(「empty」フラグを指定)。
Int評価マネージャのアイドル アクション(「idleAction」フラグを指定して照会)
boolean評価グラフは現在有効ですか?(「invalidate」フラグを指定して照会)
booleanノード タイプの並列スケジュール モードの設定に成功したかどうかを示します(「nodeTypeParallel」フラグを指定)。
boolean[]指定したノード タイプの並列スケジュールの状態です(オブジェクトを指定して「nodeTypeParallel」フラグを照会)。
string[]並列スケジュール モードのすべてのノード タイプの名前です(「nodeTypeParallel」フラグを単独で照会)。
booleanノード タイプのシリアル化モードの設定に成功したかどうかを示します(「nodeTypeSerialize」フラグを指定)。
boolean[]指定したノード タイプのシリアル化状態です(オブジェクトを指定して「nodeTypeSerialize」フラグを照会)。
string[]シリアル スケジュール モードのすべてのノード タイプの名前です(「nodeTypeSerialize」フラグを単独で照会)。
booleanノード タイプのグローバル シリアル化モードの設定に成功したかどうかを示します(「nodeTypeGloballySerialize」フラグを指定)。
boolean[]指定したノード タイプのグローバルシリアル化状態です(オブジェクトを指定して「nodeTypeGloballySerialize」フラグを照会)。
string[]グローバル シリアル化スケジュール モードのすべてのノード タイプの名前です(「nodeTypeGloballySerialize」フラグを単独で照会)。
booleanノード タイプを信頼できないモードに設定することに成功したかどうかを示します(「nodeTypeUntrusted」フラグを指定)。
boolean[]指定されたノード タイプが信頼できないかどうかを示します(オブジェクトを指定して「nodeTypeUntrusted」フラグを照会)。
string[]信頼できないスケジュール モードのすべてのノード タイプの名前です(「nodeTypeUntrusted」フラグを単独で照会)。
string評価マネージャ モードです(「mode」フラグを指定して照会)。
string[]指定ノードのすぐ下流または上流にあるすべてのノードの名前です(「upstreamFrom」/「downstreamFrom」フラグを指定)。
string[]評価マネージャが無効になった理由のリストです(「disableInfo」フラグを指定して照会)。

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

キーワード

evaluation, manager, DG, runtime

フラグ

cycleCluster, disableInfo, downstreamFrom, empty, enabled, idleAction, idleBuild, invalidate, manipulation, manipulationReady, mode, nodeTypeGloballySerialize, nodeTypeParallel, nodeTypeSerialize, nodeTypeUntrusted, safeMode, upstreamFrom
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
cycleCluster(ccl) string createquery
サイクル クラスタ内に指定ノードと一緒に格納されているノードのリストを返します。評価モードがアクティブでない場合、またはノードがサイクル内に存在しない場合、リストは空になります。
disableInfo(di) string query
評価マネージャが無効になった理由が含まれている文字列のリストを返します(サポートされていないノード タイプまたはアトリビュート値が見つかったなどの理由により、意図的にオフにした場合とは異なります)。リストが空の場合は、評価マネージャは通常どおり動作しています。
empty(mt) boolean query
照会モードのみで有効です。評価グラフにノードが含まれているかどうかを確認します。これは、現在のモードに依存しません。
enabled(e) boolean query
照会モードのみで有効です。評価マネージャが現在有効かどうかを確認します。これは、現在のモードに依存しません。
idleAction(ia) int createquery
このフラグは、アイドル時に EM が実行するアクションを指定します。使用可能な値は次のとおりです。
  • 0 - アクションなし
  • 1 - グラフのリビルド
  • 2 - EM 操作の準備
  • 3 - グラフのリビルドおよび EM 操作の準備

この場合:
  • グラフのリビルドを指定すると、アイドル イベント発生時に評価グラフをリビルドできるようになったら、すぐにリビルドします。
  • EM 操作の準備を指定すると、評価マネージャは、次のアイドル イベント後に EM 操作を使用可能にするために必要なすべての手順を実行します。

注: これらのアイドル時のアクションが適用されるのは、標準コンテキストにアタッチされたグラフのみです。その他のすべてのグラフは、それぞれ独自のルールに従って構築されます。

アイドル時のアクションを有効にすることの欠点は、グラフを頻繁に変更するワークフローや非常に大きなグラフがある場合に、グラフの構築時間や操作準備時間がワークフローに影響する可能性があることです。ワークフローに影響する場合は、このフラグに 0 の値を渡して、アイドル時のアクションをオフにすることをお勧めします。
idleBuild(ib) boolean createquery
このフラグは現在サポートされていません。アイドル時に評価グラフのリビルドを有効にするには、-idleAction フラグに値 1 を指定して使用します。
invalidate(inv) boolean createquery
このフラグを使用すると、グラフが無効になります。値を使用すると、自動リビルドをアイドル時に行うのか(false)、または強制的に行うのか(true)を制御できます。このコマンドは、最後の手段として使用する必要があります。照会モードでグラフが有効かどうかを確認します。
manipulation(man) boolean createquery
このフラグは、評価マネージャ操作のサポートを有効にするために使用されます。
manipulationReady(mr) boolean query
照会モードのみで有効です。評価マネージャ操作が実行可能状態または許可状態のどちらであるかを確認します。これは、現在のモードに依存しません。
mode(m) string createquery
評価マネージャの現在の評価モードを変更します。サポートされる値は、「off」、「serial」、「parallel」です。
downstreamFrom(dst) string createquery
評価グラフ内の指定ノードのすぐ下流にある DG ノードを検索します。接続には DG 接続ではなく、評価モード接続が使用されます。照会モードでは、グラフが走査され、指定ノードのすぐ下流にあるすべてのノードが返されます。戻り値のタイプは、グラフのレベルおよびノード名を表す値の代替ペアです。たとえば、グラフ A -> B -> C の A から下流に向かって走査する場合、戻り値は文字列の配列("0","A","1","B","2","C")になります。スクリプトを使用すると、この情報をさらに視覚的に認識しやすい形式に分解できます。このようなスクリプトで処理する必要があるサイクルが存在する可能性があります。

照会モードでは、このフラグに値が必要になります。

nodeTypeGloballySerialize(ntg) boolean createquery
このフラグは、評価マネージャが「parallel」モードの場合にのみ使用できますが、設定はいつでも可能です。評価マネージャでクラス名引数に対してグローバル シリアル スケジュールを強制するオーバーライドを、アクティブまたは非アクティブにします。有効なオブジェクト値は「transform」、「skinCluster」、「mesh」などのクラス タイプ名です。ノードを指定しないで照会すると、グローバル シリアル スケジュール オーバーライドがアクティブなノードのリストを返します。スケジュールのオーバーライドは、すべてのノードおよびノード タイプのスケジュール ルールよりも優先します。この機能の使用には注意が必要です。ノードによっては、代替のスケジュール タイプに適切に反応しないことがあります。
nodeTypeParallel(ntp) boolean createquery
このフラグは、評価マネージャが「parallel」モードの場合にのみ使用できますが、設定はいつでも可能です。評価マネージャでクラス名引数に対して並列スケジュールを強制するオーバーライドを、アクティブまたは非アクティブにします。有効なオブジェクト値は「transform」、「skinCluster」、「mesh」などのクラス タイプ名です。ノードを指定しないで照会すると、並列スケジュール オーバーライドがアクティブなノードのリストを返します。スケジュールのオーバーライドは、すべてのノードおよびノード タイプのスケジュール ルールよりも優先します。この機能の使用には注意が必要です。ノードによっては、代替のスケジュール タイプに適切に反応しないことがあります。
nodeTypeSerialize(nts) boolean createquery
このフラグは、評価マネージャが「parallel」モードの場合にのみ使用できますが、設定はいつでも可能です。評価マネージャでクラス名引数に対してローカル シリアル スケジュールを強制するオーバーライドを、アクティブまたは非アクティブにします。有効なオブジェクト値は「transform」、「skinCluster」、「mesh」などのクラス タイプ名です。ノードを指定しないで照会すると、ローカル シリアル スケジュール オーバーライドがアクティブなノードのリストを返します。スケジュールのオーバーライドは、すべてのノードおよびノード タイプのスケジュール ルールよりも優先します。この機能の使用には注意が必要です。ノードによっては、代替のスケジュール タイプに適切に反応しないことがあります。
nodeTypeUntrusted(ntu) boolean createquery
このフラグは、評価マネージャが「parallel」モードの場合にのみ使用できますが、設定はいつでも可能です。評価マネージャでクラス名引数に対して信頼できないスケジュールを強制するオーバーライドを、アクティブまたは非アクティブにします。有効なオブジェクト値は「transform」、「skinCluster」、「mesh」などのクラス タイプ名です。ノードを指定しないで照会すると、信頼できないスケジュール オーバーライドがアクティブなノードのリストを返します。スケジュールのオーバーライドは、すべてのノードおよびノード タイプのスケジュール ルールよりも優先します。この機能の使用には注意が必要です。ノードによっては、代替のスケジュール タイプに適切に反応しないことがあります。信頼できないスケジュールを使用すると、他のどの評価にも依存しないで、「危険域」にあるノードを評価できます。信頼できないノードによって並列性が失われると、パフォーマンスが大幅に低下することがあるため、これは最後の手段としてのみ使用する必要があります。
upstreamFrom(ust) string createquery
評価グラフ内の指定ノードのすぐ上流にある DG ノードを検索します。接続には DG 接続ではなく、評価モード接続が使用されます。照会モードでは、グラフが走査され、指定ノードのすぐ上流にあるすべてのノードが返されます。戻り値のタイプは、グラフのレベルおよびノード名を表す値の代替ペアです。たとえば、グラフ A -> B -> C の C から上流に向かって走査する場合、戻り値は文字列の配列("0","C","1","B","2","A")になります。スクリプトを使用すると、この情報をさらに視覚的に認識しやすい形式に分解できます。このようなスクリプトで処理する必要があるサイクルが存在する可能性があります。

照会モードでは、このフラグに値が必要になります。

safeMode(sfm) boolean createquery
このフラグは、並列評価のセーフ モードをアクティブ/非アクティブにします。有効にすると、評価グラフの依存関係が失われている場合、並列実行がシリアル実行にフォールバックします。検出は、並列評価のスケジュール中に行われます。つまり、次の評価でフォールバックが発生する可能性があります。警告: このモードを無効にする場合は、特に注意する必要があります。無効な評価が検出された場合、パラレル モードからシリアル モードにフォール バックできなくなります。このような状況でも評価が適切に機能することがあります。このフラグを使用すると、パラレル動作のパフォーマンスが最大に保たれます。ただし、セーフ モードは無効な評価を検出するために使用されるため、これを無効にすると、評価時に問題が発生したり、無効な値からの取得、評価の消失、クラッシュが発生することもあります。

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

Python 例

import maya.cmds as cmds


import maya.cmds as cmds

# Enable evaluation manager in serial mode
cmds.evaluationManager( mode="serial" )
# Result: True #

# Confirm that the evaluation manager is currently enabled
cmds.evaluationManager( query=True, enabled=True )
# Result: True #

# Check if the evaluation manager has at least one animated node in it
cmds.evaluationManager( query=True, empty=True )
# Result: True #

# Does nothing since it was already in serial mode
cmds.evaluationManager( mode="serial" )
# Result: True #

# Return the current evaluation manager mode and graph state
cmds.evaluationManager( query=True, mode=True )
# Result: [u'serial'] #

# Return all legal evaluation modes
cmds.evaluationManager( query=True )
# Result: [u'off', u'serial'] #

# Disable evaluation manager
cmds.evaluationManager( mode="off" )
# Result: True #

# Activate parallel scheduling override on transform nodes
cmds.evaluationManager( "transform", nodeTypeParallel=True, on=True )
# Result: True #

# Query for node types with the parallel scheduling override
cmds.evaluationManager( query=True, nodeTypeParallel=True )
# Result: ["transform"] #

# Query the parallel scheduling override of a particular node type
cmds.evaluationManager( "transform", query=True, nodeTypeParallel=True )
# Result: True #

# Activate locally serial scheduling override on transform nodes
cmds.evaluationManager( "transform", nodeTypeSerialize=True, on=True )
# Result: True #

# Query for node types with the locally serial scheduling override
cmds.evaluationManager( query=True, nodeTypeSerialize=True )
# Result: ["transform"] #

# Query the locally serial scheduling override of a particular node type
cmds.evaluationManager( "transform", query=True, nodeTypeSerialize=True )
# Result: True #

# Activate globally serial scheduling override on transform nodes
cmds.evaluationManager( "transform", nodeTypeGloballySerialize=True, on=True )
# Result: True #

# Query for node types with the globally serial scheduling override
cmds.evaluationManager( query=True, nodeTypeGloballySerialize=True )
# Result: ["transform"] #

# Query the globally serial scheduling override of a particular node type
cmds.evaluationManager( "transform", query=True, nodeTypeGloballySerialize=True )
# Result: True #

# Activate untrusted scheduling override on transform nodes
cmds.evaluationManager( "transform", nodeTypeUntrusted=True, on=True )
# Result: True #

# Query for node types with the untrusted scheduling override
cmds.evaluationManager( query=True, nodeTypeUntrusted=True )
# Result: ["transform"] #

# Query the untrusted scheduling override of a particular node type
cmds.evaluationManager( "transform", query=True, nodeTypeUntrusted=True )
# Result: True #

# Force rebuild of evaluation graph for normal context
cmds.evaluationManager( invalidate=True )
# Result: True #

# Test if evaluation graph is valid for normal context
cmds.evaluationManager( query=True, invalidate=True )
# Result: False #

# Activate safe mode for parallel executor
cmds.evaluationManager( safeMode=True )
# Result: True #

# Query safe mode for parallel executor
cmds.evaluationManager( query=True, safeMode=True )
# Result: True #

# Enable manipulation with evaluation manager
cmds.evaluationManager( manipulation=True )
# Result: True #

# Query manipulation with evaluation manager
cmds.evaluationManager( query=True, manipulation=True )
# Result: True #

# Query if evaluation manager manipulation is ready/allowed
cmds.evaluationManager( query=True, manipulationReady=True )
# Result: True #

# Show downstream nodes
cmds.evaluationManager( downstreamFrom='myNode' )
# Result: ['myDownstreamNode'] #

# Show all downstream nodes
cmds.evaluationManager( query=True, downstreamFrom='myRoot' )
# Result: ['0', 'myRoot', '1', 'myNode', '2', 'myDownstreamNode' ] #

# Show upstream nodes
cmds.evaluationManager( upstreamFrom='myDownstreamNode' )
# Result: ['myNode'] #

# Show cycle cluster
cmds.evaluationManager( cycleCluster='myNodeInCycle' )
# Result: ['myNode', 'myNodeInCycle', 'myNode'] #

# Activate idle rebuild
cmds.evaluationManager( idleAction=1 )
# Result: True #

# Query idleAction
cmds.evaluationManager( query=True, idleAction=True )
# Result: 1 #

# Show the reasons the evaluation manager was disabled
cmds.evaluationManager( query=True, disableInfo=True )
# Result: #