移動先: 概要 戻り値 フラグ. Python 例.

概要

expression([alwaysEvaluate=uint], [name=string], [object=string], [shortNames=boolean], [string=string], [unitConversion=string])

注意: オブジェクト名や引数を表す文字列はカンマで区切ります。これは概要には示されていません。

expression は 「元に戻す」が可能、「照会」が可能、「編集」が可能 です。

このコマンドは、カレントのシーンに属するエクスプレッションを記述します。 エクスプレッションは、変換、数学的な操作、シーンのあらゆる数値アトリビュートの論理的決定を実行でき、C に似た構文がある、長さに制限のないコードのブロックです。1 つのエクスプレッションは、数値アトリビュートをいくつでも読んで変更することができます。理論上、シーンのエクスプレッションはすべて 1 つの長いエクスプレッションに結合することができますが、できるだけ効率的で使用や編集をしやすくするには、分割しておいた方が便利です。

このコマンドをコマンド ラインまたはスクリプトで送信する場合、エクスプレッション エディタ(Expression Editor)で読むときにわかりやすいように、エスケープされた改行(\n)、タブ(\t)を必ず埋め込みます。また、システムが文字列の末尾と混同しないように、エクスプレッション中の引用符はエスケープする(\")必要があります。エクスプレッション エディタ(Expression Editor)を使用する場合、これらのキャラクタがすでに引用符で囲まれていない限りエスケープされます。

パーティクル シェイプのパーティクル単位のアトリビュートを変更または使用するエクスプレッションは、「dynExpression」コマンドを使用する必要があることに注意してください。

戻り値

string作成されたエクスプレッションの名前。

戻り値の型は照会モードでは照会フラグが基になります。

フラグ

alwaysEvaluate, name, object, shortNames, string, unitConversion
ロング ネーム(ショート ネーム) 引数型 プロパティ
string(s) string
エクスプレッションの文字列を設定します。
name(n) string
エクスプレッションに使用するディペンデンシー グラフ ノードの名前を設定します。
object(o) string
エクスプレッションの「default」オブジェクトを設定します。これによって、エクスプレッション ライターは頻繁に使用するオブジェクトの名前を入力する必要がありません。次の例を参照してください。
alwaysEvaluate(ae) uint
TRUE の場合(デフォルト)、他の入力が変更されて出力が要求されたかに関わらず、時間が変更されるたびにエクスプレッションを評価します。FALSE の場合、1 つまたは複数の入力が変更されて出力が要求された場合のみ、エクスプレッションを評価します。「time」または「frame」が入力の場合、エクスプレッションは TRUE に設定されているかのように動作することに注意してください。
shortNames(sn) boolean
-q/quety フラグとともに使用すると、コマンドに、できるだけ短いアトリビュート名を返すように伝えられます。 デフォルトでは、オブジェクト名を含めてエクスプレッションにどのように入力するかに関わらず、アトリビュートのロング ネームを返します。このフラグを設定するたびに、ショート バージョンで、さらにデフォルト オブジェクトに属するアトリビュートとしてアトリビュート名を返します。フラグを指定しなければ、オブジェクト名は表示されません。
unitConversion(uc) string queryedit
作成時に指定した単位変換ノード選択可能な値は、「closestPoint」、「rayCast」、「closestComponent」です。デフォルトは「all」です。angularOnly の場合、angular アトリビュートにのみ単位変換ノードを挿入します。( 度からラジアンへの変換が可能です)。これはパフォーマンス調整のためです。 照会すると、エクスプレッションを作成または最後に編集したときに使用したオプションを返します。

: コマンドの作成モードで使用可能なフラグ : コマンドの編集モードで使用可能なフラグ
: コマンドの照会モードで使用可能なフラグ : タプルまたはリストとして渡された複数の引数を持てるフラグ

Python 例

import maya.cmds as cmds

cmds.expression( s='a.translateX = b.translateX * sin(c.translateX)' )

cmds.expression( o='ball', s='tx = sin(time);' )