MakeModelLocal

導入

v1.5

詳細

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

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

スクリプト構文

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

パラメータ

パラメータ タイプ 説明
Model 文字列 ローカルにするモデル。
IncludeNestedRefModels Boolean 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