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

概要

addAttr([attributeType=string], [binaryTag=string], [cachedInternally=boolean], [category=string], [dataType=string], [defaultValue=float], [disconnectBehaviour=uint], [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], [proxy=string], [readable=boolean], [shortName=string], [softMaxValue=float], [softMinValue=float], [storable=boolean], [usedAsColor=boolean], [usedAsFilename=boolean], [usedAsProxy=boolean], [worldSpace=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, disconnectBehaviour, enumName, exists, fromPlugin, hasMaxValue, hasMinValue, hasSoftMaxValue, hasSoftMinValue, hidden, indexMatters, internalSet, keyable, longName, maxValue, minValue, multi, niceName, numberOfChildren, parent, proxy, readable, shortName, softMaxValue, softMinValue, storable, usedAsColor, usedAsFilename, usedAsProxy, worldSpace, writable
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
attributeType(at) string createquery
アトリビュート タイプを指定します。詳細は上の表を参照してください。注意が必要なのは、アトリビュート タイプ「float」、「matrix」、「string」は MEL キーワードでもあるため、引用符で囲む必要があることです。
binaryTag(bt) string createquery
このフラグはサポートしていません。いかなる動作もしません。
cachedInternally(ci) boolean createquery
アトリビュート データをノード内部にキャッシュするかどうかを指定します。このフラグは既定で、書き込み可能なアトリビュートでは true、書き込み不可のアトリビュートでは false です。書き込み可能なアトリビュートをユーザが強制的にキャッシュされないようにする場合、キーフレームを設定できなくなるため、警告が表示されます。
category(ct) string createqueryeditmultiuse
アトリビュート カテゴリは、識別するためにアトリビュートに関連付けられています(アトリビュートを作成したプラグインの名前、バージョン情報など)。任意のアトリビュートを任意の数のカテゴリに関連付けすることが可能です。ただし、一度関連付けしたカテゴリを除去することはできません。
dataType(dt) string createquerymultiuse
データ型を指定します。データ型の名前の詳細については、「setAttr」を参照してください。
defaultValue(dv) float createqueryedit
アトリビュートの既定値を指定します(数値アトリビュートでのみ使用可能)。
disconnectBehaviour(dcb) uint createquery
接続解除動作を、2 何もしない、1 リセット、0 削除で定義します。
enumName(en) string createqueryedit
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 createquery
照会されたアトリビュートがユーザが追加したダイナミック アトリビュートであれば true (真) を、そうでない場合には false を返します。
fromPlugin(fp) boolean createquery
元はプラグンで作成したアトリビュートですか?API コールが行われた場合、通常は自動的に設定されます - 作成プラグインとは関係ないファイル内でのソートをサポートするために追加されました。
hasMaxValue(hxv) boolean createqueryedit
アトリビュートに最大値があるかどうかを示すフラグです(数値アトリビュートでのみ使用可能)。
hasMinValue(hnv) boolean createqueryedit
アトリビュートに最小値があるかどうかを示すフラグです(数値アトリビュートでのみ使用可能)。
hasSoftMaxValue(hsx) boolean createquery
数値アトリビュートがソフト最大値を持つかどうかを示すフラグです。
hasSoftMinValue(hsn) boolean createquery
数値アトリビュートがソフト最小値を持つかどうかを示すフラグです。
hidden(h) boolean createquery
このアトリビュートが UI から非表示になるかどうかを指定します。
indexMatters(im) boolean createquery
マルチ アトリビュートに接続するときに、インデックスを使用する必要があるかどうかを設定します。indexMatters を false に設定すると、アトリビュートは強制的に読み取り不可になります。
internalSet(internalSet) boolean createquery
このアトリビュート値が変更されたときに内部にキャッシュされた値にセットするかどうかを指定します。これは UI 要素の更新に使用する内部フラグです。
keyable(k) boolean createquery
アトリビュートが既定でキー設定可であるかどうかを示します。
longName(ln) string createquery
アトリビュートのロング ネームを設定します。
maxValue(max) float createqueryedit
アトリビュートの最大値を指定します(数値アトリビュートでのみ使用可能)。
minValue(min) float createqueryedit
アトリビュートの最小値を指定します(数値アトリビュートでのみ使用可能)。
multi(m) boolean createquery
新しいアトリビュートをマルチ アトリビュートにします。
niceName(nn) string createqueryedit
UI に表示するアトリビュートのナイス ネームを設定します。アトリビュートのナイス ネームに空でない文字列を設定すると、Maya の文字列カタログからナイス ネームを検索する既定の動作が無効になります。(カタログにあるアトリビュートのナイス ネームを検索するには、MEL コマンド「attributeNiceName」と「attributeQuery -niceName」を使用します)。
numberOfChildren(nc) uint createquery
新しいアトリビュートには子が何個あるかを指定します。
parent(p) string createquery
新しいアトリビュートの親になるアトリビュートです。
proxy(pxy) string createquery
別のノードのアトリビュートをプロキシ化します。 プロキシ化されたプラグがソースとして接続されます。この場合は、UsedAsProxy フラグが自動的に設定されます。
readable(r) boolean createquery
このアトリビュートから出力接続を作成できるかどうかを指定します。
shortName(sn) string createquery
アトリビュートのショート ネームを設定します。
softMaxValue(smx) float createqueryedit
ソフト最大値、数値アトリビュートにのみ有効。このアトリビュート用のスライダで使用する既定の上限値を指定します。
softMinValue(smn) float createqueryedit
ソフト最小値、数値アトリビュートにのみ有効です。このアトリビュート用のスライダで使用する既定の下限値を指定します。
storable(s) boolean createquery
アトリビュートがファイルに格納できるかどうかを指定します。
usedAsColor(uac) boolean createquery
アトリビュートをカラー定義として使用します。このフラグを使用するには、3 DOUBLE または 3 FLOAT の子が必要です。アトリビュートタイプ「-at」は必要に応じて「double3」または「float3」にする必要があります。また、このフラグを「double3」または「float3」としたデータ型「-dt」とともに使用してエフェクトを小さくすることもできますが、コードの部分によってはこの代替をサポートしないことがあります。特別なアトリビュート タイプ/データである「スペクトル」と「反射率」はカラー フラグもサポートしており、この上では既定でカラー フラグが設定されます。
usedAsFilename(uaf) boolean createquery
アトリビュートをファイル名定義として扱います。このフラグはデータ型が「string」の「-dt」フラグを持つアトリビュートでのみサポートされます。
usedAsProxy(uap) boolean createquery
指定されたアトリビュートを別のアトリビュートのプロキシとして処理するかどうかを設定します。
worldSpace(ws) boolean createquery
このアトリビュートをワールド空間として扱うかどうかを設定します。ワールド空間として扱う場合、アトリビュートはこのノードのワールド空間トランスフォームに依存し、ワールド空間トランスフォームに影響を与える階層内のアトリビュート変更によってダーティとマークされます。インスタンス化中のノードには複数のワールド空間パスがあり、Maya はワールド空間アトリビュートのパスごとに配列要素が 1 つ必要になるため、アトリビュートに配列を指定する必要があります。備考: 1. 配列アトリビュートでのみ使用できます。2. 非 DAG ノードでは、このプロパティは無視されます。3. アトリビュートは別のアトリビュートの影響を受けるか、接続されている必要があります。それ以外の場合、アトリビュートは計算されず、ダーティに戻りません。
writable(w) boolean createquery
このアトリビュートへの入力接続を作成できるかどうかを指定します。

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

Python 例

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 home, midge,
# damien, elizabeth, and sweetpea of varying types
#
cmds.addAttr( longName='sampson', numberOfChildren=5, attributeType='compound' )
cmds.addAttr( longName='home', 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' )

# Create a proxy attribute
cmds.sphere( name='moon' )
cmds.select('earth');
cmds.addAttr(longName="someProxyAttr", proxy="moon.tx");