SIImportMatLib

詳細

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

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

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

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

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

スクリプト構文

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

パラメータ

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

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

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

デフォルト値: siImportShareOptionsNone

Value 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