v1.5
リファレンス モデルをローカルにします。
Tip:このコマンドを最適化するには、Default_Pass がアクティブになっており、パーティションにオーバーライドがないことを確認してください。 オーバーライドがアクティブになっていると、コマンドの処理速度が遅くなります。
| MakeModelLocal( [Model], [IncludeNestedRefModels], [MaterialConflictAction] ); | 
| パラメータ | タイプ | 説明 | 
|---|---|---|
| Model | 文字列 | ローカルにするモデル。 | 
| IncludeNestedRefModels | Boolean | true の場合は、ネストされたリファレンス モデルが含まれます。 デフォルト値: true | 
| MaterialConflictAction | siMaterialConflictAction | ローカルにするリファレンス マテリアルがターゲットのマテリアル ライブラリで検出されたときに実行するアクション。 デフォルト値: siDefaultAction | 
| /*
	This example shows how to make a referenced model local.
*/
NewScene(null, false);
// First create a simple model containing a sphere
var sph = CreatePrim("Sphere", "MeshSurface");
var mdl = CreateModel(sph, "LocalModel")(0);
var mymodelpath = XSIUtils.BuildPath(
	Application.InstallationPath(siFactoryPath),
	"Data", "XSI_SAMPLES", "Models", "mymodel.emdl"
);
Application.LogMessage(Application.ActiveSceneRoot.Models.GetAsText());
// INFO : LocalModel
// Export it and then reimport it as a referenced model
ExportModel(mdl, mymodelpath);
SelectObj(mdl, "BRANCH")		// models must be branch-selected when deleting
DeleteObj();	
Application.LogMessage(Application.ActiveSceneRoot.Models.GetAsText());
// INFO : 
var rtn = ImportModel(mymodelpath, null, true);
mdl = rtn.Value("Value");
// Now make it local
MakeModelLocal(mdl);
Application.LogMessage(Application.ActiveSceneRoot.Models.GetAsText());
// INFO : mymodel |