ジャンプ先: 概要. 戻り値. キーワード. フラグ. 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 create
実行する操作を表す JSON 文字列。
prevalidation(p) boolean create
操作したプラグの事前検証を実行するかどうかをコントロールするフラグ。このフラグが設定されていて、プラグが評価マネージャですでに適切にサポートされている場合は、最初のフレームで評価マネージャの操作が使用されます。初期フレームでダーティな伝播を行うことも、評価マネージャの操作を安全に実行できるか検証するための DG 評価を行うことも必要ありません。
refresh(r) boolean create
各操作の後にリフレッシュがトリガされるかどうかをコントロールするフラグ。評価を開始するには、リフレッシュする必要があることに注意してください。

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

Python 例

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] #