ジャンプ先: 概要. 戻り値. キーワード. フラグ. Python 例.
mimicManipulation([manipulations=string], [prevalidation=boolean], [refresh=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
mimicManipulation は、取り消し不可能、照会不可能、および編集不可能です。
このコマンドは、評価マネージャの高速操作をサポートするためにさまざまなマニピュレータで行われる動作を模倣します。このコマンドは、テスト、デバッグ、およびベンチマークの目的に使用する必要があります。操作は、JSON オブジェクトを表す文字列を使用して記述されます。このオブジェクトには、配列を含む「session」という名前のメンバーが必要です。この配列の各メンバーは、操作トランザクション(1 つの操作アクションで設定されるプラグ)を表します。これらの各トランザクションは、設定するプラグの配列でもあります。設定するプラグは、操作するプラグを記述する文字列「plug」、およびこのプラグに設定する値「value」をメンバーとして持つオブジェクトです。現在設定できるのは、アトリビュートのタイプが「double」または「double3」のプラグのみです。値には、数値または 3 つの数値からなる配列を指定する必要があります。セッションは、マニピュレータを保持してから放すまでの(その間の移動も含む)操作を表すグローバル アクションとみなすことができます。トランザクションは操作内の 1 つのデルタであるとみなされ、結果を表示するにはこの後に評価を行う必要があります。たとえば、マニピレータを保持したままマウス移動を 1 回行ったら、評価を行ってビューポートをリフレッシュする必要があります。
| boolean[] | 指定したトランザクションごとに、評価マネージャでトランザクションを評価できる場合は、true、それ以外の場合は false を返します |
manipulation
manipulations, prevalidation, refresh
| ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
manipulations(m)
|
string
|
|
|
|
prevalidation(p)
|
boolean
|
|
|
操作したプラグの事前検証を実行するかどうかをコントロールするフラグ。このフラグが設定されていて、プラグが評価マネージャですでに適切にサポートされている場合は、最初のフレームで評価マネージャの操作が使用されます。初期フレームでダーティな伝播を行うことも、評価マネージャの操作を安全に実行できるか検証するための DG 評価を行うことも必要ありません。
|
|
refresh(r)
|
boolean
|
|
|
各操作の後にリフレッシュがトリガされるかどうかをコントロールするフラグ。評価を開始するには、リフレッシュする必要があることに注意してください。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
cmds.createNode('transform')
cmds.mimicManipulation(manipulations='{ "session": [[{"plug": "transform1.tx", "value": 1.0}]] }')
# Result: [False] #
# Build a series of manipulation using Python objects
cmds.setKeyframe('transform1', attribute="translateX", time=1, value=1)
cmds.setKeyframe('transform1', attribute="translateX", time=10, value=10)
manipulations = dict(session=[[{"plug": "transform1.translateX", "value": i}] for i in range(10)])
import json
manips = json.dumps(manipulations)
cmds.mimicManipulation(manipulations=manips)
# Result: [True, True, True, True, True, True, True, True, True, True] #
cmds.mimicManipulation(manipulations=manips, prevalidation=False)
# Result: [False, True, True, True, True, True, True, True, True, True] #