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 |