キャッシュ ファイルの書き込み

 
 
 

オブジェクトのアニメートされたデフォーメーションまたはシミュレーションをオブジェクトのポイント位置データを保存するポイント キャッシュ ファイルに書き込むことができます。オブジェクトのポイント位置は、デフォルトではローカル空間に保存されますが、[ベーク済みアニメーション - すべての変換](Baked Animation - All Transforms)オプションを選択してグローバル空間に保存することもできます。

ポイント キャッシュ ファイルでは、領域にオブジェクトのポイント(頂点)の XYZ 位置のみが保存され、[Kinematics]ノードのオブジェクトの変換データ(移動、回転、またはスケール)は含まれません。

通常のキャッシュファイルのほかにも、キャッシュリストファイル(.cacheslist)を書き出して、複数のオブジェクトと複数のキャッシュファイルをロードする方法を管理することもできます。

Cache Manager の[書き込み](Write)タブのオプションで、次のシミュレーションおよびアニメーションのタイプのポイントデータをキャッシュすることができます。

注:

  • ただし、この方法でヘアシミュレーションをキャッシュすることはできません。

  • Syflex クロス(非 ICE)はサポートされていません。

  • ポリゴナイザを使用している場合、ポリゴナイザには独自のキャッシュ メカニズムがあることに注意してください。詳細については、「ポイント クラウドなどのメッシュ」を参照してください。

  • ICE Tree のシミュレーション フレームのみがキャッシュに書き込まれます。シーンの最初のフレームは含まれません。最初のフレームは初期状態であるとみなされ、したがってシミュレーションされません。たとえば、フレーム 1 で始まりフレーム 100 で終わるシーンの場合、フレーム 2 から始まる 99 個のシミュレーション フレームがキャッシュに書き込まれます。

  • ICE パーティクルのインスタンス化されたジオメトリをキャッシュする場合、キャッシュ ファイルの読み取り/書き込みの際にシーン内にマスタ オブジェクトを保持するようにしてください。パーティクルはキャッシュされてもインスタンス マスタに依存し続けます。マスタ オブジェクトを表示またはレンダリングしたくない場合は、単純にそれらを移動してカメラのビューから外します。または、各マスタ オブジェクトの[Visibility]プロパティ エディタ([レンダリング]タブ)で[インスタンスのマスタ非表示](Instance Master Hidden)を選択してそれらを非表示にします。

アニメーションまたはシミュレーションデータのキャッシュ

アニメーションまたはシミュレーション データをキャッシュ ファイルに書き込むには:

  1. シミュレーションまたはアニメーションをキャッシュするオブジェクトを 1 つ以上選択します。各オブジェクトは、個別のキャッシュファイルにキャッシュされます。

    親オブジェクトをブランチ選択して、その階層内のすべてのオブジェクトをキャッシュファイルに書き込むこともできます。詳細については、「オブジェクト」を参照してください。

  2. Cache Managerを開きます。「Cache Manager を開く」を参照してください。

  3. Cache Manager の上部に表示される[書き込み](Write)タブをクリックします。

  4. [ファイルのキャッシュ]タブで、キャッシュファイルに使用する[パス](Path)[ファイル名](File Name)[バージョン](Version)、および[フォーマット](Format)を選択します。「書き込み」を参照してください。

    現在のパスは、[解決されたパス](Resolved Path)テキストボックスに灰色で表示されます。

  5. [オブジェクト]リストで、キャッシュファイルを作成するオブジェクトを選択します。詳細については、「オブジェクト」を参照してください。

  6. [その他のオプション]タブのオプションを使うと、次のことができます。

    • キャッシュするシミュレーションまたはアニメーションの特定のフレームを選択できます。[開始](Start)[終了](End)、および[ステップ](Step)(フレームの間隔)の値はキャッシュされるフレームの範囲を指定します。

    • 複数のオブジェクトに.cacheslistファイルを作成します。「複数のオブジェクトのキャッシュリストファイルの作成」を参照してください。

    • キャッシュ対象の特定の ICE 属性を選択します。「キャッシュの ICE 属性の設定」を参照してください。

    • オブジェクトのポイント位置を、グローバル空間にキャッシュするには、[ベーク済みアニメーション - すべての変換](Baked Animation - All Transforms)オプションを選択します。

  7. キャッシュする準備ができたら、[キャッシュに書き込む](Write Cache)ボタンをクリックします。

    これにより、選択したオブジェクトのアニメーション デフォーメーションまたはシミュレーションに指定した範囲内のすべてのフレームがプロットされ、指定したキャッシュ ファイルに保存されます。「キャッシュ ファイル ソースの保存場所」を参照してください。

複数のオブジェクトのキャッシュリストファイルの作成

.cacheslist ファイルを使用して、複数のオブジェクトのキャッシュファイルを一度にまとめて作成することができます。たとえば、作成したキャラクタに 100 個のパーツがあり、その各パーツに個別のキャッシュファイルが割り当てられている場合などです。この場合、.cacheslist ファイルを使用してすべてのキャッシュファイルをリンクすることができます。

.cacheslist は、リスト内のフレーム、ファイルフォーマット、パス、オブジェクトなど、記録したすべてのキャッシュの情報を保存するテキスト形式のファイルです。任意のテキストエディタを使用してファイルを開き、必要に応じて変更することができます。

  1. .cacheslist ファイルに使用したい[パス](Path)を選択します。

    現在のパスとファイル名は、[キャッシュリストのオプション](Caches List Options)のテキストボックスでグレーで表示されます。

  2. .cacheslist ファイルに保存したいオブジェクトがすべて[ファイルのキャッシュ]タブの[オブジェクト](Objects)リストに表示されていることを確認します。「オブジェクト」を参照してください。

  3. [その他のオプション]タブで、[キャッシュリストを作成](Create Caches List)オプションを選択します。

  4. [ファイルのキャッシュ]タブに戻り、[キャッシュに書き込む](Write Cache)ボタンをクリックしてリスト内の各オブジェクトのキャッシュを記録し、各オブジェクトへのリファレンスとキャッシュファイルを含む.cacheslist ファイルを作成します。

  5. .cacheslist ファイルを作成したら、それを Animation Mixer にロードすることができます。複数のオブジェクトのキャッシュリスト ファイルをロードする」を参照してください。

キャッシュの ICE 属性の設定

[その他のオプション]タブの[属性](Attributes)リストを使用して、キャッシュ ファイルに書き込む ICE 属性を指定できます。これらは、オブジェクトの ICE Tree や Render Tree でのレンダリングに使用される属性です(Render Tree の属性シェーダによって使用される属性など)。

[オブジェクト]リストでオブジェクトを選択すると、二つの属性リストの両方でその属性がハイライトされます。これにより、どの属性がどのオブジェクトに属しているのかを簡単に見分けることができます。

キャッシュ ファイルを読み取るときに、そのキャッシュ ファイルに対してキャッシュされていた属性を確認する場合は、Cache Manager の[読み取り]タブの[ダンプ ヘッダー](Dump Header)ボタンをクリックします。

注:カスタム属性は、シーンで使用されている場合を除き、ここには表示されません。カスタム属性は定義する前に使用する必要があり、定義済みの属性のみが[使用可能]リストに表示されます。

キャッシュする ICE 属性の選択

Softimage では、[オブジェクト]リスト内のすべてのオブジェクトに対して、[キャッシュへ](To Cache)リストに表示されているとおり、指定した属性がすべて含まれているかどうかが自動的に確認されます。ただし、特定の属性のみをキャッシュする場合は、キャッシュしない属性を[キャッシュへ](To Cache)リストから[使用可能](Available)リストへ移動できます。[キャッシュへ](To Cache)に表示される属性のみがファイルにキャッシュされます。

使用する属性の数を絞り込むことで、特に Lagoa ベースのシミュレーションなど、データ量の多いシミュレーションの場合にキャッシュファイルのサイズをかなり小さくすることができます。たとえば、パーティクルシステムの動きだけをテストしたい場合、PointPosition 属性と PointVelocity 属性のみを指定することができます。

各オブジェクトタイプには特定の属性があります。

  • たとえば、NURBS カーブ、サーフェイス、ポリゴンメッシュ、およびヘアには、PointPosition 属性のみが含まれます。

ポリゴンメッシュの PointCount のように、読み取り専用の属性はキャッシュファイルに書き込まれません。

  • ポイントクラウドには、レンダリングに関連するものを含めて数多くの属性があります。それらは、Color、Force、Mass、Orientation、PointPosition、PointVelocity、Scale、Shape、ShapeInstanceTime、SimulatedFrameFraction、Size、SpriteAngle、StateID、StateTransitionTime、StrandOrientation、StrandPosition、StrandSize、および StrandVelocity です。

すべての属性の説明については、「ICE 属性」を参照してください。

レンダリングのためのパーティクル属性のキャッシュのヒント

ICE パーティクル シミュレーションをレンダリングするために最低限の属性を維持するために、シミュレーションに応じて以下の属性のみキャッシュすると便利な場合があります。

  • 位置

  • サイズ: パーティクル間でアニメートされるか、または異なる場合にのみ必要

  • 密度(ICEカラーのアルファ): アニメートさせた場合にのみ必要

  • 色(ICE カラーの RGB): Render Tree でカラー定数またはグラディエントを使用して色を設定する場合は不要

  • ID: テクスチャを使用する場合にのみ必要

  • 回転: テクスチャを使用する場合にのみ必要

  • 速度: パーティクルを速度およびモーションブラーと整列/回転させる場合にのみ必要

  • 時系列と時系列制限: グラディエントを使用する場合にのみ必要

  • カスタム属性: Render Tree でアクセス可能な追加の ICE 属性すべて