v1.5
ファイル
リファレンス モデルをローカルにします。
Tip:このコマンドを最適化するには、Default_Passがアクティブになっており、パーティションにオーバーライドがないことを確認してください。
オーバーライドがアクティブになっていると、コマンドの処理速度が遅くなります。
MakeModelLocal( [Model], [IncludeNestedRefModels], [MaterialConflictAction] ); |
| パラメータ | タイプ | 詳細 |
|---|---|---|
| Model | 文字列 | ローカルにするモデル。 |
| IncludeNestedRefModels | ブール | 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
|