シーン TOC(シーンの目次)は XML ベースのファイルで、シーンの情報が格納されています。対応するシーン ファイルと同じ名前(拡張子は.scntoc)で同じフォルダにあります。
シーン ファイルを開くと、対応するシーン TOC ファイルが検索されます。ファイルが検出されると、Softimage は自動的にファイルに含まれている情報を読み込んで適用します。この既定の動作を変更するには、シーン TOC の作成と読み込みのプリファレンスを個別に設定します。詳細については、「シーン TOC ファイルを作成し読み込む」を参照してください。
シーン TOC ファイルの利点は、テキスト エディタまたは XML エディタを使用して以下の操作を実行できる点です。
これらのオプションの詳細については、「シーン TOC を修正する」を参照してください。
シーン TOC ファイルの作成と読み込みを有効にしておくと、シーンを保存するたびに現在のシーン情報が、対応するシーン TOC ファイルに保存されます。シーン TOC ファイルをテキスト エディタまたは XML エディタで修正した場合は、その修正は次回にシーンを開いたときに自動的に適用されます。
シーン TOC ファイルの作成は、[シーンの TOC(Table of Content)ファイルを作成](Create scene TOC (Table of Contents) file)オプションを無効にすることによって、いつでもオフにできます。[シーンのTOC(Table of Content)ファイルがロード時にあれば読み込む](Read scene TOC (Table of Contents) file on load if available)オプションが有効になっている場合は、シーンを次に開いたときに TOC ファイルが読み込まれ、適用されます。ただし、任意のシーンを保存するときに、対応する TOC ファイルの拡張子を .scntoc から .scntoc_Obsolete に変更すると、シーンを再度開いたときに TOC ファイルは無視されます。
シーン TOC ファイルの読み込みは、[シーンの TOC(Table of Content)ファイルがロード時にあれば読み込む](Read scene TOC (Table of Contents) file on load if available)オプションを無効にすることによって、いつでもオフにできます。シーンを次に開いたときに、TOC ファイルは無視され、そのファイルに含まれる情報は一切シーンに適用されません。[シーンの TOC(Table of Content)ファイルがロード時にあれば読み込む](Create scene TOC (Table of Contents) file)オプションが有効になっている場合は、シーンを保存すると、現在のシーン情報も対応するシーン TOC ファイルに保存されます。
ルート <xsi_file> エレメントには xsi_version というサブエレメントがあります。このサブエレメントは、関連付けられているシーン ファイルを作成するために使用された Softimage のバージョンを示します。
バージョン番号は、Major.Minor.BuildNumber.UpdateNumber という形式で指定されます。
<xsi_file type="SceneTOC" xsi_version="8.0.114.0" syntax_version="2.0">
Softimage の内部バージョン番号が製品の表示名に使用されている番号と一致しない場合がある点に注意してください。たとえば、8.0 は Autodesk Softimage 2010 の内部バージョン番号です。スプラッシュ画面やインストール パスの製品名には Version 2010 が使用されていますが、シーン情報および Softimage SDK はバージョン番号 8.0 を返します。
Softimage の外部から、テキスト エディタや XML エディタを使用してシーン TOC ファイルを編集することができます。行った変更は、次回にシーンを開いたときに自動的に適用されます。
ルート <xsi_file> エレメントは、内容を変更できる 5 つの子エレメントを持ちます。
<Models> エレメントは、シーンで使用するリファレンス モデルを指定します。これには、別の解像度、有効解像度、また外部差分を使用している場合は差分ファイルで使用される外部ファイルが含まれます。
<Sources> エレメントには、イメージ、外部アクション、オーディオ、およびリファレンス モデルのパスとファイル名を指定します。
<PostLoadScript> エレメントには、シーンを読み込み、シーン TOC ファイル内のすべての修正が適用された後に実行するスクリプトを記述できます。
通常は、シーン TOC の任意のエレメントの内容(開始タグと終了タグの間にあるもの)を変更できます。タグ自体の属性は一切変更しないでください。一部の例外については、別途説明します。
Scene TOC ファイルの <Models> エレメントには、シーン内のリファレンス モデルごとの <Models> エレメントが含まれます。また、<Model> エレメントには、各解像度に <resolution> エレメントと、外部差分がある場合は <delta> エレメントが含まれます。
<Models> <Model name="RefModel" active_resolution="2"> <resolution name="Offloaded" id="0" href=""></resolution> <resolution name="res1" id="1" href="file://Models\lo-res.emdl"></resolution> <resolution name="res2" id="2" href="file://Models\md-res.emdl"></resolution> <resolution name="res3" id="3" href="file://Models\hi-res.emdl"></resolution> <delta name="Delta" href="file://Deltas\RefModel_Delta.delta"></delta> </Model> </Models>
該当する属性を変更して、代用のファイルを使用したり、有効解像度を変更することができます。エレメントの名前の属性は変更できません。また、モデル、解像度、または差分を追加できません。
Scene TOC ファイルの <Source> エレメントには、シーンで使用されるイメージなど外部ファイルのエレメントが含まれます。シーン TOC ファイルの <Sources> セクションにあるすべてのソースの内容を変更できます。これにより、たとえば、テクスチャ ファイルのパスを変更できるほか、テクスチャの置き換えも可能です。ソース名属性は変更しないでください。
<Image name="metal">\slowserver\myTexLib\dull.pic</Image>
<Image name="metal">\fastserver\myTexLib\shiny.pic</Image>
<Sources> 内のエレメントの順序は重要ではありません。特定のソースを修正対象から除外する場合は、対応するエレメントを削除できます。ただし、そのエレメントはシーン TOC の次回保存時に再び表示されます。
Scene TOC ファイルの <Passes> エレメントには、すべてのパスのレンダリング オプションが含まれています。シーン グローバルおよびレンダ固有のオプションには、「RenderOptions」、「HardwareRenderer」、および「mentalray」という名前の 3 つの <RenderOption> エレメントが存在します。
また、シーン内の各レンダ パスには、<Pass> エレメントが存在します。それぞれの <Pass> エレメントには、対応するパスのレンダ オプションが含まれます。
対応するエレメントの内容を変更することで、特定のパスのレンダ オプションを修正できます。たとえば、次のような変更が可能です。
<StartFrame>1</StartFrame>
<StartFrame>24</StartFrame>
オプションのなかには相互依存のものがあることに注意してください。たとえば、<PictureRatio> は、<CameraXRes> および <CameraYRes> と関連しています。このような場合は、設定される最後の値が優先値になるよう順番に値が適用され、再計算が行われます。<RenderOptions> でエレメントの順序を変更することで優先順位を変えられます。
レンダ オプションを変更したくない場合は、対応するエレメントを削除できます。ただし、そのエレメントはシーン TOC の次回保存時に再び表示されます。
シーン TOC ファイルの <Parametersvalues> エレメントでは、現在のレンダ パスおよびフレーム レートの 2 つのパラメータを設定できます。
<Param name="Passes.current">Passes.Default_Pass</Param>
<Param name="Passes.current">Passes.Diffuse</Param>
<Param name="PlayControl.Rate">29.970030</Param>
<Param name="PlayControl.Rate">25.0</Param>
シーン TOC ファイルの <PostLoadScript> エレメントを使用して、シーンがロードされ、その他のすべての修正(TOC ファイルと追加データの両方)が適用された後に、スクリプト プロシージャが実行されるようにすることができます。これは、<Language>、<Function>、および <Script_Content> の 3 つの子から構成されます。
<Language> エレメントは、使用するスクリプト言語を指定します。お使いのコンピュータで使用可能な言語に応じて、以下のいずれかを指定します。
<Language>VBScript</Language>
<Function> エレメントは、実行するプロシージャを指定します。たとえば、次のように記述します。
<Function>myPostLoadProc</Function>
指定したプロシージャは、<Script_Content> エレメントで宣言されている必要があります。<Script_Content> エレメントには複数のプロシージャを含めることができ、<Function> を変更することでプロシージャを容易に切り替えることができます。
<Script_Content> エレメントにグローバル コードがある場合(つまり、サブルーチンにも関数にも含まれないコードがある場合)、グローバル コードは指定したプロシージャの前に実行されます。これはスクリプトの解析による影響です。
また、グローバル コードは実行するプロシージャを指定していない場合にも実行されます。
<Script_Content> エレメントには、実際に実行するコードを含めます。スクリプトは 1 つの CDATA セクションに入れます。こうすることで、XML 構文において特別な意味を持つ文字(<、>、& など)も使用できます。次に、VBScript の例を示します。
<Script_Content> <![CDATA[ sub myPostLoadProc LogMessage "Running scene TOC postload script" end sub ]]> </Script_Content>