MakeModelLocal

導入

v1.5

カテゴリ

ファイル

詳細

リファレンス モデルをローカルにします。

Tip:このコマンドを最適化するには、Default_Passがアクティブになっており、パーティションにオーバーライドがないことを確認してください。 オーバーライドがアクティブになっていると、コマンドの処理速度が遅くなります。

スクリプト構文

MakeModelLocal( [Model], [IncludeNestedRefModels], [MaterialConflictAction] );

パラメータ

パラメータ タイプ 詳細
Model 文字列 ローカルにするモデル。
IncludeNestedRefModels ブール true の場合は、ネストされたリファレンス モデルが含まれます。

デフォルト値: true

MaterialConflictAction siMaterialConflictAction ローカルにするリファレンス マテリアルがターゲットのマテリアル ライブラリで検出されたときに実行するアクション。

デフォルト値: siDefaultAction

バッチ モードでは、マテリアルはターゲットのマテリアル ライブラリにコピーされます。 インタラクティブ モードでは、実行するアクションを選択するようにユーザに要求します。

JScript の例

/*
        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

関連項目

ConvertToRefModel ToggleReferencedModel