MAXScript のカスタム アトリビュートが、ノードやシーンのルートノードを含むあらゆるタイプの MAX オブジェクトに適用されるようになりました。ただし、カスタム アトリビュートに関連するロールアウトは、マテリアル、モディファイヤ、および基本オブジェクトに対してのみ表示されます。
.custAttributes
プロパティは、3ds Max 5.1 で MAXWrapper に追加されました。ここには、オブジェクトに割り当てられたカスタム アトリビュートの仮想配列が含まれています。この仮想配列上では、join
および sort
を除き、標準の配列メソッドと演算を実行できます。
仮想配列のクラスは MAXCustAttribArray
です。
findItem <MAXCustAttribArray> < cust_attrib >
指定された仮想配列内で所定のカスタム アトリビュートを検索します。
<MAXCustAttribArray> [< integer > | < cust_attrib_name >]
インデックスまたは名前によってカスタム アトリビュートを取得します。
<MAXCustAttribArray> [< integer > | < cust_attrib_name >] = < cust_attrib >
インデックスまたは名前によってカスタム アトリビュートを設定します。
append <MAXCustAttribArray> < cust_attrib >
仮想配列の末尾にカスタム アトリビュートが追加されます。
deleteItem <MAXCustAttribArray> (< cust_attrib > | < cust_attrib_name >)
カスタム アトリビュートかその名前を指定することで、カスタム アトリビュートを仮想配列から削除します。
MAXCustAttribArray にマップすることもできます。
<MAXCustAttribArray>.owner
このカスタム アトリビュート配列の所有者を返します。3ds Max 2019.3 Update 以降で使用可能です。
isDeleted <MAXCustAttribArray>
仮想配列が削除された場合はtrueを返します。所有者が削除された場合、MAXCustAttribArray は削除されたとみなされます。
<MAXCustAttribArray> == <MAXCustAttribArray>
<MAXCustAttribArray> != <MAXCustAttribArray>
標準の比較演算子です。これらは、同じ要素が含まれているかどうかにかかわらず、アトリビュート コンテナを比較することに注意してください。
t = teapot()
--> $Teapot:Teapot001 @ [0.000000,0.000000,0.000000]
cac = t.custAttributes
--> #CustAttribs()
cac.owner
--> $Teapot:Teapot001 @ [0.000000,0.000000,0.000000]
delete t
isDeleted t
--> true
isDeleted cac
--> true