SIImportMatLib

カテゴリ

ファイル

詳細

.xsi ファイルの形式でマテリアル ライブラリを読み込みます。 ファイルの SI_MaterialLibrary 部分のみが読み取られます。 この部分は、マージされたかのように、シーンの一部になります。

注: リファレンスフラグを設定する場合は元のパスが保持され、ライブラリ自体はロックされた状態でフラグが付きます。 リファレンス フラグを設定しない場合は元のパスが失われます。

注: このコマンドは、出力引数を使用します。 C# および一部のスクリプト言語(JScript、PerlScript、Python など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。

スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。

C# の場合は、XSIApplication.ExecuteCommand メソッドを使用してこのコマンドを呼び出すことができます。 ExecuteCommand は、出力引数を C# の System.Object (出力引数の配列を含む)にパック化します(詳細については、「C# からのコマンドの呼び出し」を参照)。

スクリプト構文

SIImportMatLib( FileName, [ShareOptions], [Value] );

パラメータ

パラメータ タイプ 詳細
FileName 文字列 読み込みするモデル ファイルの名前

デフォルト値:このパラメータが指定されない場合はブラウザがポップアップし、.xsiファイルを選択するよう求められます。

ShareOptions siImportShareOptions モデルをリファレンスとして読む込むかどうかを指定するInteger型のビットフィールド値。

デフォルト値: siImportShareOptionsNone

MaterialLibrary 作成されたライブラリを戻します。

VBScript の例

' 
'       This example illustrates how to import a material library (first the 
'       library is created and then exported).
' First create some libraries and materials
NewScene , false
CreatePrim "Sphere", "MeshSurface"
ApplyShader , , , , siLetLocalMaterialsOverlap
CreateLibrary
SelectObj "Sources.Materials.MaterialLibrary"
SetValue "Sources.Materials.MaterialLibrary.Name", "MyLibrary"
SetCurrentMaterialLibrary "Sources.Materials.MyLibrary"
SelectObj "sphere", , true
ApplyShader , , , , siLetLocalMaterialsOverlap
' Then export the scene in a .xsi file
dotXSIFile = Application.InstallationPath( siUserPath ) & "\MyMatLib4Import.xsi"
SIExportDotXSIFile ActiveSceneRoot, dotXSIFile
' Dump everything and import the material library
NewScene , false
SIImportMatLib dotXSIFile

関連項目

ExportMaterialLibrary SIImportReferencedMatLib Material.Library Scene.ActiveMaterialLibrary