ファイル
.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 | 作成されたライブラリを戻します。 |
' ' 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 |