グルーム キャッシュ は、他のデジタル コンテンツ作成 (DCC) アプリケーションでシミュレートされ、Alembic を使用して Unreal Engine にエクスポートされたグルーム アニメーションを再生できる、グルーム アセットの拡張機能です。グルーム キャッシュ Alembic は、複数の属性をアニメートするタイム サンプルを含むグルーム Alembic です。アニメート可能なサポートされている属性は、頂点の位置、幅、および色です。
グルーム キャッシュのタイプ
Unreal Engine にインポート可能な Groom Cache Alembic ファイルには、Guides Groom Cache と Strands Groom Cache の 2 種類があります。
Guides Groom Cache は、ガイドの頂点位置のアニメーションのみをサポートします。エンジン内のストランド補間を使用してガイド アニメーションをレンダリング ストランドに転送するため、各グルーム グループでグルーム アセットがシミュレーションを有効にしている必要があります。これは、エンジン内の補間で納得のいく結果が得られる頂点位置のみをアニメートするグルーム アニメーションを再生するのに適しています。このタイプのグルーム キャッシュは、Strands Groom Cache を使用するよりも軽量でパフォーマンスに優れています。
Strands Groom Cache は、すべてのストランドのアニメートされた属性を含むため、Guides Groom Cache よりも多くのメモリと帯域幅を消費します。頂点位置だけでなく、幅や色にも対応しているため、より柔軟性が高いという利点があります。また、DCC アプリケーションで計算された正確なシミュレーションが含まれているため、より高い忠実度を得ることができます。このタイプのグルーム キャッシュは、エンジン内補間を使用せず、グルーム アセットでシミュレーションを有効にする必要はありません。Strands Groom Cache の現在の制限事項としては、頂点位置のアニメーションが含まれている必要があり、幅と色のアニメーションのみを単体で持つことはできません。
Strands Groom Cache は、エンジン内でシミュレートできない、またはシミュレーションや補間では納得のいく結果が得られないグルーム アニメーションを再生するのに役立ちます。たとえば、髪が長く、太く伸びる、髪の成長を示すアニメーションを使用する場合です。
なお、グルーム キャッシュがグルーム アセットと連携するためには、ストランド数、頂点数、ストランドあたりの頂点数などのトポロジが同じである必要があります。髪を短くする必要のあるヘア インスタンスの場合、グローバルな頂点の数とストランドごとの頂点の数を変更することはできません。代わりにストランドの長さをアニメートするために位置を変更する必要があります。
グルーム キャッシュを Unreal Engine にインポートする
グルーム キャッシュはタイム サンプルを含むグルームであるため、Groom Cache Alembic はインポート時に通常のグルームとして検出されます。ただし、[Groom Import Options (グルーム インポート オプション)] には、[Import Groom Cache (グルーム キャッシュをインポートする)] がオンになっている [Groom Cache (グルーム キャッシュ)] セクションが表示されます。

[Import Groom Cache] をオフにすると、グルーム アセットのみをインポートすることができます。ガイドのみのグルーム アセットやガイドのみのグルーム キャッシュをインポートすることはできません。
ストランドのみのグルームでは、インポート時に補間設定によりガイドが自動生成され、その設定が Guides Groom Cache のガイド生成に使用されます。Alembic にガイドがすでに含まれている場合、[[Groups] > [Index] > [Interpolation Settings (補完設定)] に入っている [Groom Import Option] の Override Guides がオンになっていない場合、グルーム アセットとグルーム キャッシュの両方の代わりに、ガイドが使用されます。

インポートするグルーム キャッシュとトポロジ的に互換性のあるグルーム アセットがすでにある場合は、[Import Groom Asset (グルーム アセットをインポートする)] をオフにして、そのグルーム アセットを使用するように指定することができます。

インポート プロセスでは、指定した グルーム アセット のインポート設定を、インポートするグルーム キャッシュに適用します。これは特にデシメーションと補完の設定で、グルーム アセットとグルーム キャッシュが同一のインポートされたトポロジを持つようにするうえで重要です。

[Import Groom Asset] がオフになっている場合、[Groom Asset (グルーム アセット)] が指定されるまでグルーム キャッシュをインポートすることができません。
[Groom Cache (グルーム キャッシュ)] セクションのその他の設定は、使用する開始フレームと終了フレームを指定したり、Groom アニメーションの開始時にある可能性のある空のフレームをスキップするなど、インポートされたアニメーションの範囲をコントロールします。

Unreal Engine でグルーム キャッシュを使用する
グルーム キャッシュをインポートしたら、Groom コンポーネント の グルーム キャッシュ 割り当てスロットに適用することができます。

グルーム キャッシュには、グルームのストランドをレンダリングするためのレンダリング データやリソースが含まれていないため、トポロジ的に互換性のあるグルーム アセットと組み合わせて使用する必要があります。
Groom コンポーネントにすでに グルーム バインディング (1) が割り当てられている場合、グルーム キャッシュ (2) を割り当てることはできず、グルーム キャッシュの割り当てスロットはグレー表示されます。

Guides Groom Cache の場合、Play-in-Editor (PIE) を使用してグルーム アニメーションを視覚化するには、グルーム アセットで各 グルーム グループ のシミュレーションが有効になっている必要があります。
レベル シーケンスでグルーム キャッシュを使用する
グルーム キャッシュは、Groom コンポーネントを持つアクタ上に Groom Cache トラックを追加することで、 レベル シーケンス から使用およびコントロールすることができます。

Groom コンポーネントにすでにグルーム キャッシュが適用されている場合、トラック上のグルーム キャッシュ セクションはアニメーション範囲に合わせて自動的にサイズが調整されています。その他の場合は、手動でサイズを調整する必要があります。
