カスタム アトリビュート管理関数

次の管理関数は custAttributes 構造体を通して使用できます。

   

custAttributes.count <obj> [BaseObject:<bool>] 	 

.add() 関数により追加された個々のスクリプト カスタム アトリビュート セット数のカウントを返します。

BaseObject:<bool>

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが代わりに動作します。 false の場合、ノードそのものがそこで動作します。

   

custAttributes.get <obj> (<index> | <attrib_def>)[BaseObject:<bool>] 

インデックスとして指定された、あるいはそれにより定義されるアトリビュート定義により指定された、カスタム アトリビュート セットを返します。

BaseObject:<bool> 

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが動作します。 false の場合、ノードそのものがそこで動作します。3ds Max 5.1 より前のバージョンでは、基本オブジェクトが常に使用されていました。

注:

custAttributes が返すカスタム アトリビュート セット値は、そのアトリビュート セット内のオブジェクトのカスタム パラメータに対する、事実上のホルダー値です。これらのパラメータ値は、アトリビュート セット値の単純なプロパティとして取得できます。

gp = custAttributes.get $ gameParams
gp.hitPoints= 50 				  

これは、オブジェクト上のカスタム アトリビュート パラメータに直接アクセスすることと同じです。

$.gameParams.hitPoints = 50 				

   

custAttributes.delete <obj_or_collection> (<index> | <attrib_def>) [baseObject:<bool>] 

オブジェクトから、あるいは指定したコレクション内のオブジェクトすべてから、特定のカスタム アトリビュート セットを削除します。削除されるセットは、インデックス番号、またはそれが定義するアトリビュート定義によって定義されます。

BaseObject:<bool> 

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが動作します。false の場合、ノードそのものがそこで動作します。3ds Max 5.1 より前のバージョンでは、基本オブジェクトが常に使用されていました。

   

custAttributes.makeUnique <obj> (<index> | <attrib_def>) [baseObject:<bool>] 

カスタム アトリビュート セットを保持するオブジェクトが特定のアトリビュート定義を共有する場合、選択したオブジェクトに定義の一意なコピーを持たせることができます。

BaseObject:<bool> 

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが動作します。 false の場合、ノードそのものがそこで動作します。3ds Max 5.1 より前のバージョンでは、基本オブジェクトが常に使用されていました。

custAttributes.add $box* def1 			 

次のようにして box01 を一意にします。

custAttributes.makeUnique $box01 def1 		  

あるいは、これらすべてを一意にします。

custAttributes.makeUnique $box* def1 		

   

custAttributes.getDef (<obj> <index>) | <custAttrib> [baseObject:<bool>] 

オブジェクト内の与えられたカスタム アトリビュート セットのアトリビュート定義か、 .get() メソッドを使ってアクセスするカスタム アトリビュート セットからのアトリビュート定義を返します。

BaseObject:<bool> 

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが動作します。 false の場合、ノードそのものがそこで動作します。3ds Max 5.1 より前のバージョンでは、基本オブジェクトが常に使用されていました。

   

custAttributes.getDefs <obj> [baseObject:<bool>] 

定義の配列をアトリビュート セットの順に返します。

BaseObject:<bool> 

オプションのキーワード引数 baseObject true (既定値)に設定されている場合、指定されているオブジェクトがノードであれば、そこでは基本オブジェクトが動作します。 false の場合、ノードそのものがそこで動作します。3ds Max 5.1 より前のバージョンでは、基本オブジェクトが常に使用されていました。

次のトピック

カスタム アトリビュートのアトリビュート定義値

関連事項