USDのTimeSampling(Animation)
USD AdventCalendar202213 日目は、USD の TimeSampling です。
USD は、キャラクターのアニメーションなどは、 にもあるようにジオメトリキャッシュを使用しますが それ以外にもちろんアトリビュートに対してのアニメーションも入れることができます。
このアニメーションは、TimeSampling という形で表現されています。
TimeSample の項目を公式ドキュメントの用語集で確認すると
TimeSamples as source for Value Resolution Each PropertySpec for an Attribute can contain a collection called timeSamples that maps TimeCode ordinates to values of the Attribute’s type. 引用: https://graphics.pixar.com/usd/release/glossary.html#usdglossary-timesample
Value Resolution と呼ばれる、プロパティやメタデータなどのデータを含む PropertySpecs や PrimSpecs から最終的な値を「合成」すること に使用されるソースデータであり、 「TimeCode」と呼ばれる時間軸に対応する Attribute の値をマップする形で扱われています。
TimeCode とは、ルートレイヤーに記載された TimeCodesPerSecond(24 フレームや 30 フレームといった情報)メタデータによってスケーリングされます。
が…それだけ言われてもわかりにくいので、シンプルな例をみてみます。