Softimage では、システムがクラッシュした場合に、さまざまな方法で作業内容を復元できます。多くの場合は、オートセーブとリカバリのメカニズムを使用して作業内容を簡単に復元できます。また、内容の一部をバックトラックし、やり直す場合は、以前に保存したバージョンのシーンをロードできるバックアップ オプションも使用できます。
[データ管理](Data Management)プリファレンスのオートセーブ オプションを使用して、オートセーブ機能を有効にし、自動保存の頻度を決定できます。
シーンを保存するたびに、ファイルはバックアップ フォルダに自動的に保存されます。そのため、必要に応じてシーンの以前のバージョンに戻り、ロードすることができます。また、この方法は、シーン ファイルを自動的に復元できなかった場合にも役立ちます。
バックアップ シーンのデフォルト数は 4 つですが、[データ管理](Data Management)プリファレンスでファイル数を最大 100 まで変更できます。
[ファイル](File) [設定](Preferences)を選択します。[データ管理](Data Management)をクリックし、[ファイル]タブの[シーン保存毎のバックアップ](Backups for each Scene Saved)テキスト ボックスにバックアップ数を設定します。
[追加バックアップ(日数)](Additional Backups (Days))オプションで、指定した日数に対してバックアップを設定します。これは、頻繁に保存を行ったため、最後のバックアップ バージョン内に必要な情報が含まれていない場合に役立ちます。このオプションで、n日前の最後のバックアップ バージョンから作業内容を復元できることが保証されます。
クラッシュが発生した後、通常はダイアログ ボックスが開き、プロジェクトの System フォルダ内の autosave ディレクトリまたは crash backup ディレクトリにシーン ファイルが正常に保存されたことが通知されます。
Softimage は、最初に autosave ファイルを読み込もうとします([自動保存]オプションを有効にした場合)。有効でない場合は、デフォルトの crashsave ファイルを使用します。Softimage を再起動した後は、シーンを引き続き使用できます。
開く途中でシーンがクラッシュした際、1 つのモデルしか壊れていないような場合があります。このような場合は、回復ジャーナルファイルを使用してシーンの残りの部分の復元を行うことができます。
[シーンのデバッグ]タブで、[回復ジャーナル ファイルのロード](Load Recovery Journal File)にファイルのパスと名前を入力します。たとえば、次のように記述します。
C:¥Temp¥myrecovery.txt
Softimage がシーンを処理する場合、シーン内の各モデルのロードを開始したときと、各モデルのロードが正常に完了した後に、ファイルに書き込みます。特定のモデルをロードしている最中に Softimage がクラッシュした場合、ジャーナル ファイルには、そのモデルのロードが完了していないことが示されます。
さらに、[回復ジャーナルファイルのロード](Load Recovery Journal File)が定義されている場合、壊れたクラスタおよびクラスタ プロパティ(たとえばテクスチャ UV)が自動的に修正されます。修正した場合は、クラスタのフル ネームがコマンド ヒストリに記録されます。
可能な限り多くのシーンを正常に復元できたら、[回復ジャーナルファイルのロード]ボックスの内容をクリアし、オプションを無効にします。
これで、Softimage がファイルを読み書きする必要がなくなるため、シーンを開く処理にかかる時間を短縮できます。さらに、クラッシュが発生する前に保存したシーンのバックアップを後で開いた場合には、Softimage はスキップされたモデル名と同じ名前でモデルをロードできます。
クラッシュ後にシーンを復元した場合、オペレータが壊れているために動作が不安定になる場合があります。問題を発生させるオペレータの検出と除去を実行することができます。
[データ管理](Data Management)プリファレンスの[シーンのデバッグ]タブで、[ロード時にすべてのジオメトリ オペレータを無効](Disable all geometry operators on load)を有効にします。
問題のあるシーンを開きます。ジオメトリ、テクスチャ、およびエンベロープ スタックのすべてのオペレータが無効化されていることに注意してください。
壊れているオペレータを探します。たとえば、最後に追加したオペレータを削除し、その後スタックを下から再度有効化して、問題がなくなったかどうかを確認します。
スタックのオペレータを有効にする方法については、「上位スタックを無効にする」(「データ交換」)を参照してください。
[ロード時にすべてのジオメトリ オペレータを無効](Disable all geometry operators on load)を無効にします。このオプションはデバッグ ツールとしてのみ使用し、オプションをオンにしたまま作業を続行しないようにしてください。
シーンに問題がある場合、ポリゴン メッシュまたはクラスタが破損している可能性があります。壊れているメッシュやクラスタを検索して、作業の復元を試みることができます。
[データ管理](Data Management)プリファレンスの[シーンのデバッグ]タブで、[壊れたポリゴン メッシュとクラスタをロード時、フリーズ時に検出](Detect corrupted polygon meshes and clusters upon load/freeze)がオンになっていることを確認します。
壊れているクラスタが見つかった場合は自動的に修正され、そのクラスタの名前がコマンド ヒストリに記録されます。修正後のクラスタはチェックし、コンポーネントおよびプロパティ(テクスチャ UV、頂点カラー、ウェイト マップなど)が元通りに揃っているかどうかを確認してください。オペレータ スタックのすべてまたは一部をフリーズして検出、修正できるクラスタ破損もあります。フリーズされていないデータの破損は検出されないためです。
メッシュの破損が検出された場合は、そのオブジェクトの名前と不正なコンポーネントのインデックスがコマンド ヒストリに記録され、そのメッシュを非表示にするよう求めるメッセージが表示されます(これは、破損しているメッシュ構造の作成時に起こりうるクラッシュを避けるためです)。
メッシュの破損を修正するには、最初にオブジェクトを表示にして、すべてのポリゴンを選択します。
クラッシュはしていなくてもポリゴンを表示または選択できない場合は、[選択]パネルの名前選択ボックスに以下のように入力して、すべてのポリゴンを選択します。
objectname.poly[*]
[作成](Create) [ポリゴンメッシュ](Poly. Mesh) [Model]ツールバーから[ポリゴンの抽出(保持)](Extract Polygons (keep))を選択します。
破損したコンポーネントに関する新しいメッセージが記録されていない場合は、破損の修復が成功したことになります。元のメッシュを削除します。
破損していないポリゴン(破損コンポーネントの周囲の領域以外の部分)を選択し、手順 4 と 5 を繰り返して、作業の一部の復元を試みます。ただし、メッシュによっては、壊れていても復元できない場合があります。