CreateRefModel

導入

v6.0

カテゴリ

RefModel

詳細

シーンにリファレンス モデルを作成します。 このコマンドを使用すると、ディスク上に既存のモデルの新しいインスタンスを作成するか、まだ存在していないモデル ファイルの名前を指定できます。 また、新しいモデルを有効にするかどうか、使用する解像度、親にするモデルまたはオブジェクトを指定することもできます。

スクリプト構文

oReturn = CreateRefModel( [FileName], [ModelName], [ResolutionName], [Parent], [Activate], [CreateFile], [ExternalCnxMappingTemplate], [ShareOptions] );

戻り値

新しいリファレンス モデル

パラメータ

パラメータ タイプ 詳細
FileName 文字列 ファイル名が指定されている場合、ロードされ、最初の解像度で使用されます。
ModelName 文字列 モデル名。

デフォルト値:ファイルの名前(Filename で指定されています)

ResolutionName 文字列 最初の解像度の名前。

デフォルト値: res1

Parent 文字列 読み込みされたモデルの親として使用するオブジェクトまたはモデル

デフォルト値: シーン ルート

有効 ブール 最初の解像度のモデルを読み込む場合は、True。 False の場合は、モデルはオフロードされたままになります。

デフォルト値: True

CreateFile ブール 指定されたファイルがまだ存在していない場合は、ダミーのモデル ファイルを作成するように、この引数によって Softimage に指定します(ディレクトリも作成されます)。 このコマンドは、複数のアーティストで制作を行っている場合に便利です。すべてのファイルが揃う前に、トップダウン方式のアプローチのショットのレイアウトを準備できます。

デフォルト値: False

ExternalCnxMappingTemplate 文字列 このパラメータはカンマ区切りのモデルのリストを含みます。このリストは、リファレンスされるモデルの読み込み処理の最後で再接続を試行する、オブジェクトの解決に使用されます。

モデルは、読み込みの最後に再接続されます。 パラメータがヌルの場合、モデルがはじめに書き出された時の元のモデル名に再接続を試行します。
ShareOptions siImportShareOptions モデルを読み込みする際に、オブジェクトを共有するためのオプションを指定するための、Integer 型のビット フィールドの値。

モデルを読み込む際に何を共有できるかについては、「siImportShareOptions」を参照してください。

イメージ クリップの共有: イメージ クリップは、同じイメージ ソースを参照していて、かつすべてのパラメータが同じであれば同一のものです。したがって、パラメータの F カーブは比較時には無視されます。

モデルの読み込み時には必ずイメージ ソースが共有されます。

マテリアルの共有: マテリアルはその名前、ライブラリ、シェーダの数、およびシェーダの順序が同じであれば、同一です。 同じ library.materialName、同じシェーダの数、かつ同じ順序で表示されるマテリアルが存在する場合は、それが再利用されます。

レイヤ/パーティションの共有:Layers and partitions are shared also based on their name. モデルを書き出すと、そのモデルには各オブジェクトのレイヤ名およびパーティション名が保存されます。モデルを読み込むときに同じ名前のレイヤまたはパーティションがあると、オブジェクトはそこに読み込まれます。

リファレンス モデルは、リファレンスされるモデルによってロックされているイメージ クリップのみを共有するか、イメージ クリップを使用しません。 標準的なモデルは、まったくロックされていないイメージ クリップのみを共有します。

デフォルト値: siImportShareOptionsAll

1. JScript の例

/*
        This example shows how to create a referenced model based on an asset that doesn't exist 
        yet. This will create the file on disk, and create an offloaded referenced model.
*/
NewScene( null, false );
var sPath = XSIUtils.BuildPath( Application.InstallationPath(siUserPath), "Data", "alain.emdl" );
CreateRefModel( sPath, "alaind", "low", null, false, true) ;

2. JScript の例

/*
        This example shows how to create a referenced model based on a model that already exists.
        It also demonstrates how to activate it and specify a parent model.
*/
NewScene( null, false );
CreateModel( null, "mymodel" );
var sPath = XSIUtils.BuildPath( Application.InstallationPath(siFactoryPath), 
        "Data", "XSI_SAMPLES", "Models", "Man.emdl" );
CreateRefModel( sPath, "man", "low", "mymodel", true, false );

関連項目

CommitToReference ConvertToRefModel ImportModel ExportModel