IObject:AssetUser
このクラスのインスタンスには、アセット ファイル名、タイプ、このインスタンスに依存する 3ds Max シーンファイル(外部参照の解決に使用されます)に関する情報が含まれます。アセットへのアクセスおよびアセットの寿命管理は、アセット マネージャによって処理されます。
3ds Max 2010 より前のバージョンでは、外部ファイル(アセット)を参照したプラグインがそのアセットのファイル名を文字列またはパス オブジェクトとして保持し、このファイル名を 3ds Max シーン ファイルに文字列または IParameterBlock2 TYPE_FILENAME パラメータとして格納していました。プラグインによって使用されるアセットを
3ds Max が識別できるようにするために、プラグインは IAssetAccessor から派生するクラスを実装します。このクラスから提供される情報は、主にアセット トラッカーによって使用されます。
アセットのロードおよび 3ds Max シーン ファイルへの保存は、AssetUser および AssetManager を介して行われるようになりました。
コンストラクタ:
AssetUser クラスのインスタンスは、AssetManager インタフェースによって公開されるメソッドによって戻されます。
AUIO = AssetManager.GetAssetByIndex1
--> <IObject:AssetUser>
AUIO2= AssetManager.GetAsset "Simple_Stone_Mtl_Marble_bump.jpg" #bitmap
--> <IObject:AssetUser>
|
MAXScript ファイル名文字列を、自動的に AssetUser インスタンスに強制することができます。
--Create a new bitmap texture map with a valid file name:
bmt = bitmaptexture filename:"Simple_Stone_Mtl_Marble_bump.jpg"
--> Bitmaptexture:Bitmap
bmt.filename --get the bitmap's file name
--> "Simple_Stone_Mtl_Marble_bump.jpg"
AUIO3 = bmt.filename as AssetUser --get the file name as AssetUser IObject
--> <IObject:AssetUser>
AUIO3.getFileName()
-->"Simple_Stone_Mtl_Marble_bump.jpg"
AUIO3.getType()
--> #Bitmap
|
<IObject:AssetUser> インタフェース
メソッド:
<TSTR by value><AssetUser>.GetAssetId()
アセットの AssetID を返します。
<enum><AssetUser>.GetType()
GetType enums: {#Other|#Bitmap|#XRef|#Photometric|#Animation|#VideoPost|#BatchRender|#ExternalLink|#RenderOutput|#PreRenderScript|#PostRenderScript|#Sound|#Container}
アセットのタイプを返します。
<TSTR by value><AssetUser>.GetFileName()
アセットのファイル名を返します。
<bool><AssetUser>.CanGetFullFilePath <&TSTR>fileName
fileName is Out parameter
.GetFullFilePath() メソッドを使用して完全なファイル パスを取得できる場合は true を返します。
<TSTR by value><AssetUser>.GetFullFilePath()
アセットの完全なファイル パスを返します。
例:
|
AUIO = AssetManager.GetAssetByIndex 2 --get the AsserUser with index 2
--> <IObject:AssetUser>
AUIO.GetFileName() --get the file name - it is not full file name
--> "Simple_Stone_Mtl_Marble_bump.jpg"
AUIO.CanGetFullFilePath (AUIO.GetFileName()) --can we get the full name?
--> true
AUIO.GetFullFilePath() --then let's get it!
--> "C:\Program Files\Autodesk\3ds Max 2010\Maps\adskMtl\Simple_Stone_Mtl_Marble_bump.jpg"
|