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 |