ジャンプ先: 概要. 戻り値. キーワード. 関連. フラグ. Python 例.
addAttr([attributeType=string], [binaryTag=string], [cachedInternally=boolean], [category=string], [dataType=string], [defaultValue=float], [enumName=string], [exists=boolean], [fromPlugin=boolean], [hasMaxValue=boolean], [hasMinValue=boolean], [hasSoftMaxValue=boolean], [hasSoftMinValue=boolean], [hidden=boolean], [indexMatters=boolean], [internalSet=boolean], [keyable=boolean], [longName=string], [maxValue=float], [minValue=float], [multi=boolean], [niceName=string], [numberOfChildren=uint], [parent=string], [readable=boolean], [shortName=string], [softMaxValue=float], [softMinValue=float], [storable=boolean], [usedAsColor=boolean], [usedAsFilename=boolean], [writable=boolean])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
addAttr は、取り消し可能、照会可能、および編集可能です。
1 つまたは複数のノードにダイナミック アトリビュートを追加します。longName か shortName のどちらか一方またはその両方を指定する必要があります。dataType と attributeType のどちらも指定しないと、double アトリビュートが追加されます。dataType フラグを複数回指定すると、指定したすべてのタイプが許可されます(論理和)。
double 以外のアトリビュートを追加する場合、次の基準を使用して dataType フラグと attributeType フラグのどちらが適切か判断することができます。double3 など、タイプによってはどちらも使用できる場合があります。このような場合は、データにアトミック エンティティとしてのみアクセスする場合には、-dt フラグを使用します(例えば、double3 を構成する 3 つの個々の値にはアクセスしないような場合)。一般的には、柔軟性を高めるために -at を使用するのが最良です。-dt バージョンはアトミック タイプで個々の部分を変更できないため、ほとんどの場合はアトリビュート エディタ(Attribute Editor)に表示されません。
下記の「(複合)」が付いたすべてのアトリビュートまたは複合アトリビュート自体は、すべての子が定義されるまで(「-p」フラグを使用して作成された複合をその親に設定)、実際にはノードに追加されません。詳細については、例を参照してください。
アトリビュートのタイプ | 使用するフラグと引数 |
ブーリアン | -at bool |
32 ビット整数 | -at long |
16 ビット整数 | -at short |
8 ビット整数 | -at byte |
文字 | -at char |
列挙 | -at enum (enumName フラグを使用して enum 名を指定) |
浮動小数点数 | -at "float"(float は MEL キーワードのため引用符を使用) |
倍精度浮動小数点数 | -at double |
角度値 | -at doubleAngle |
リニア値 | -at doubleLinear |
文字列 | -dt "string"(string は MEL キーワードのため引用符を使用) |
文字配列 | -dt stringArray |
複合 | -at compound |
メッセージ(データなし) | -at message |
時間 | -at time |
4x4 二次元行列 | -dt "matrix"(matrix は MEL キーワードのため引用符を使用) |
4x4 float 行列 | -at fltMatrix |
反射率 | -dt reflectanceRGB |
反射率(複合) | -at reflectance |
スペクトラム | -dt spectrumRGB |
スペクトラム(複合) | -at spectrum |
2 float | -dt float2 |
2 float (複合) | -at float2 |
3 float | -dt float3 |
3 float (複合) | -at float3 |
2 double | -dt double2 |
2 double (複合) | -at double2 |
3 double | -dt double3 |
3 double (複合) | -at double3 |
2 x 32 ビット整数 | -dt long2 |
2 x 32 ビット整数(複合) | -at long2 |
3 x 32 ビット整数 | -dt long3 |
3 x 32 ビット整数(複合) | -at long3 |
2 x 16 ビット整数 | -dt short2 |
2 x 16 ビット整数(複合) | -at short2 |
3 x 16 ビット整数 | -dt short3 |
3 x 16 ビット整数(複合) | -at short3 |
二次元配列 | -dt doubleArray |
float 配列 | -dt floatArray |
32 ビット整数の配列 | -dt Int32Array |
vector 型の配列 | -dt vectorArray |
NURBS カーブ | -dt nurbsCurve |
NURBS サーフェス | -dt nurbsSurface |
ポリゴン メッシュ | -dt mesh |
ラティス | -dt lattice |
二次元 4D ポイントの配列 | -dt pointArray |
なし
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
attribute, dependency, graph, add, dynamic, create
aliasAttr, attributeInfo, connectAttr, deleteAttr, disconnectAttr, getAttr, getClassification, nodeType, objExists, objectType, renameAttr, setAttr
attributeType, binaryTag, cachedInternally, category, dataType, defaultValue, enumName, exists, fromPlugin, hasMaxValue, hasMinValue, hasSoftMaxValue, hasSoftMinValue, hidden, indexMatters, internalSet, keyable, longName, maxValue, minValue, multi, niceName, numberOfChildren, parent, readable, shortName, softMaxValue, softMinValue, storable, usedAsColor, usedAsFilename, writable
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
longName(ln)
|
string
|
|
|
shortName(sn)
|
string
|
|
|
niceName(nn)
|
string
|
|
|
UI に表示するアトリビュートのナイス ネームを設定します。アトリビュートのナイス ネームに空でない文字列を設定すると、Maya の文字列カタログからナイス ネームを検索する既定の動作が無効になります。(カタログにあるアトリビュートのナイス ネームを検索するには、MEL コマンド「attributeNiceName」と「attributeQuery -niceName」を使用します)。
|
|
binaryTag(bt)
|
string
|
|
|
このフラグはサポートしていません。いかなる動作もしません。
|
|
attributeType(at)
|
string
|
|
|
アトリビュート タイプを指定します。詳細は上の表を参照してください。注意が必要なのは、アトリビュート タイプ「float」、「matrix」、「string」は MEL キーワードでもあるため、引用符で囲む必要があることです。
|
|
dataType(dt)
|
string
|
|
|
データ型を指定します。データ型の名前の詳細については、「setAttr」を参照してください。
|
|
defaultValue(dv)
|
float
|
|
|
アトリビュートの既定値を指定します(数値アトリビュートでのみ使用可能)。
|
|
multi(m)
|
boolean
|
|
|
新しいアトリビュートをマルチ アトリビュートにします。
|
|
indexMatters(im)
|
boolean
|
|
|
マルチ アトリビュートに接続するときに、インデックスを使用する必要があるかどうかを設定します。indexMatters を false に設定すると、アトリビュートは強制的に読み取り不可になります。
|
|
minValue(min)
|
float
|
|
|
アトリビュートに最小値を指定します(数値アトリビュートでのみ使用可能)。
|
|
hasMinValue(hnv)
|
boolean
|
|
|
アトリビュートに最小値があるかどうかを示すフラグです(数値アトリビュートでのみ使用可能)。
|
|
maxValue(max)
|
float
|
|
|
アトリビュートの最大値を指定します(数値アトリビュートでのみ使用可能)。
|
|
hasMaxValue(hxv)
|
boolean
|
|
|
アトリビュートに最大値があるかどうかを示すフラグです(数値アトリビュートでのみ使用可能)。
|
|
cachedInternally(ci)
|
boolean
|
|
|
アトリビュート データをノード内部にキャッシュするかどうかを指定します。このフラグは現在サポートしていません(常に既定値の true に設定されます)。
|
|
internalSet(internalSet)
|
boolean
|
|
|
このアトリビュート値が変更されたときに内部にキャッシュされた値にセットするかどうかを指定します。これは UI 要素の更新に使用する内部フラグです。
|
|
parent(p)
|
string
|
|
|
新しいアトリビュートの親になるアトリビュートです。
|
|
numberOfChildren(nc)
|
uint
|
|
|
新しいアトリビュートには子が何個あるかを指定します。
|
|
usedAsColor(uac)
|
boolean
|
|
|
アトリビュートをカラー定義として使用します。このフラグを使用するには、3 DOUBLE または 3 FLOAT の子が必要です。アトリビュートタイプ「-at」は必要に応じて「double3」または「float3」にする必要があります。また、このフラグを「double3」または「float3」としたデータ型「-dt」とともに使用してエフェクトを小さくすることもできますが、コードの部分によってはこの代替をサポートしないことがあります。特別なアトリビュート タイプ/データである「スペクトラム」と「反射率」はカラー フラグもサポートしており、この上では既定でカラー フラグが設定されます。
|
|
usedAsFilename(uaf)
|
boolean
|
|
|
アトリビュートをファイル名定義として扱います。このフラグはデータ型が「string」の「-dt」フラグを持つアトリビュートでのみサポートされます。
|
|
hidden(h)
|
boolean
|
|
|
このアトリビュートは UI から非表示になります。
|
|
readable(r)
|
boolean
|
|
|
writable(w)
|
boolean
|
|
|
storable(s)
|
boolean
|
|
|
keyable(k)
|
boolean
|
|
|
fromPlugin(fp)
|
boolean
|
|
|
元はプラグンで作成したアトリビュートですか?API コールが行われた場合、通常は自動的に設定されます - 作成プラグインとは関係ないファイル内でのソートをサポートするために追加されました。
|
|
softMinValue(smn)
|
float
|
|
|
ソフト最小値、数値アトリビュートにのみ有効です。このアトリビュート用のスライダで使用する既定の上限値を指定します。
|
|
hasSoftMinValue(hsn)
|
boolean
|
|
|
数値アトリビュートがソフト最小値を持つかどうかを示すフラグです。
|
|
softMaxValue(smx)
|
float
|
|
|
ソフト最大値、数値アトリビュートにのみ有効。このアトリビュート用のスライダで使用する既定の上限値を指定します。
|
|
hasSoftMaxValue(hsx)
|
boolean
|
|
|
数値アトリビュートがソフト最大値を持つかどうかを示すフラグです。
|
|
category(ct)
|
string
|
|
|
アトリビュート カテゴリは、識別するためにアトリビュートに関連付けられています(アトリビュートを作成したプラグインの名前、バージョン情報など)。任意のアトリビュートを任意の数のカテゴリに関連付けすることが可能です。ただし、一度関連付けしたカテゴリを除去することはできません。
|
|
enumName(en)
|
string
|
|
|
enum 値に対応する UI 名を指定するために使用するフラグです。指定する文字列には、コロンで区切った名前のリストとオプション値を含めます。値を指定しないと、0 で始まる連続した整数として扱われます。例:-enumName "A:B:C" が生成するオプション値は、A、B、C の順に 0、1、2 で、-enumName "zero:one:two:thousand=1000" は、値 0、1、2、1000 の 4 つのオプションを生成し、-enumName "solo=1:triplet=3:quintet=5" は、値が 1、3、5 の 3 つのオプションを生成します。(現時点でのチャネル ボックス(Channel Box)に関する制限事項として、列挙型アトリビュートのプルダウン メニューが正しく表示されない場合があります。オプション値が連続していない場合に、その間の数がメニュー項目として余分に表示される可能性があります。この制限事項を回避するために、チャネル ボックスで表示する列挙型アトリビュートのオプションには連続した値を指定してください。例:"solo=1:triplet=2:quintet=3")。
|
|
exists(ex)
|
boolean
|
|
|
照会されたアトリビュートがユーザが追加したダイナミック アトリビュートであれば true (真) を、そうでない場合には false を返します。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
cmds.sphere( name='earth' )
# Add an attribute named ms/mass with a default value of 1 and a
# minimum value of 0.001 and a maximum of 10000.
#
cmds.addAttr( shortName='ms', longName='mass', defaultValue=1.0, minValue=0.001, maxValue=10000 )
# Add a multi attribute named ff/forcefield of type double3.
#
cmds.addAttr( shortName='ff', longName='forcefield', dataType='double3', multi=True )
# Add a compound attribute named sampson with children homeboy, midge,
# damien, elizabeth, and sweetpea of varying types
#
cmds.addAttr( longName='sampson', numberOfChildren=5, attributeType='compound' )
cmds.addAttr( longName='homeboy', attributeType='matrix', parent='sampson' )
cmds.addAttr( longName='midge', attributeType='message', parent='sampson' )
cmds.addAttr( longName='damien', attributeType='double', parent='sampson' )
cmds.addAttr( longName='elizabeth', attributeType='double', parent='sampson' )
cmds.addAttr( longName='sweetpea', attributeType='double', parent='sampson' )
# To add an attribute that is to be interpreted as a color the
# following attribute group must be used.
#
# Note that the word "float" must be in quotations since it is a
# MEL keyword.
#
cmds.addAttr( longName='rainbow', usedAsColor=True, attributeType='float3' )
cmds.addAttr( longName='redBow', attributeType='float', parent='rainbow' )
cmds.addAttr( longName='greenBow', attributeType='float', parent='rainbow' )
cmds.addAttr( longName='blueBow', attributeType='float', parent='rainbow' )
# Other legal attribute types that can be interpreted as colors need
# not specify the "-usedAsColor" flag as it will be assumed. These
# include "-attributeType spectrum", "-attributeType reflectance",
# "-dataType spectrumRGB", and "-dataType reflectanceRGB".
#
cmds.addAttr( longName='implColor', dataType='spectrumRGB' )
cmds.addAttr( '.implColor', query=True, usedAsColor=True )
# Result: 1 #
# Add a double3 attribute named sanders with children bess, les and wes
#
cmds.addAttr( longName='sanders', attributeType='double3' )
cmds.addAttr( longName='bess', attributeType='double', parent='sanders' )
cmds.addAttr( longName='les', attributeType='double', parent='sanders' )
cmds.addAttr( longName='wes', attributeType='double', parent='sanders' )