Performing Editor

Step Animation

ステップアニメーションの概念

XR Studio では、ステップアニメーションという独自のアニメーション方式をとっています。
ビデオ編集や3Dツールなどでアニメーションを作っている方にとっては、時間を単位としたタイムフレームを持つフレームアニメーションがお馴染みだと思います。
ステップアニメーションの場合、この時間単位のタイムフレームという概念がありません。
フレームアニメーションでは、1フレームがそれぞれ、秒であったり、分であったりするわけです。
ステップアニメーションの場合、同様のタイムフレームに見えるものを持っていますが、これはステップフレームと呼び、 1フレームはそれぞれポーズのステップです。

それぞれのステップが、現在のポーズ、次のポーズ、その次のポーズというイメージとなっています。
フレームアニメーションであれば、ポーズから次のポーズになるのは1タイムフレームが1秒だとしたら、1秒後とうわけですが、 ステップフレームの場合、1秒後ではありません。ステップフレームは時間を表しているわけではないということです。

フレームアニメーションに慣れた方だと最初は戸惑うかもしれませんが、XR Studio で扱うアニメーションは、 "インタラクティブな動き"です。
例えば、1ステップ目のポーズと2ステップ目のポーズが近い場合と遠い場合があります。
フレームアニメーションで1ステップと2ステップの間を1秒と設定してしまえば、ポーズが近い場合はゆっくり変化していくし、 遠い場合は、早回しで再生されてしまいます。場合に合わせて都度調整していく手間が増えます。つまり、時間という概念は邪魔です。
さらに、アニメーションをパターンの一部として作成し、部分的にループさせる場合などを考えてください。
フレームアニメーションでももちろん作成できますが、部分的にループさせるわけですから、ループ対象になるオブジェクトだけ 全体の時間の流れを無視して、何秒後に何秒前に戻るという処理を繰り返すことになります。この時点で部分的に時間という概念は崩壊しています。

ステップアニメーションでは、時間ではなく、それぞれのパーツオブジェクトの移動速度を設定していきます。
時間は設定せず、速度を指定することにより、ポーズや位置座標が近い場合でも遠い場合でも、同じ速度で再生されます。
決して早回しやスローモーションにはならず、指定した速度のまま動きのイメージは変わりません。

なにやら難しい説明のように思われるかもしれませんが、"インタラクティブな動き"を前提としたステップアニメーションとは、 時間という邪魔な概念を取り去ることで非常にシンプルに非常にデータ量を抑えたアニメーションデータが作れるという単純な話です。
概念だけザックリと頭に入れていただければ、フレームアニメーションで作成する場合と大きな差はありません。
むしろ、あっさりシンプルです。

メインステップ

それぞれのパーツに位置、回転と移動速度を設定し、ポーズを形作る移動が全て完了したら次のステップへ移るという ステップアニメーションの基本的なステップ単位です。

サブステップ

上記のメインステップの場合、ポーズを形作る移動が全て完了しなければ、次のステップに移行しません。
つまり、ステップとステップの間の途中の動きが作れません。
ステップとステップの間の補助的な動きをサポートするものがサブステップです。

例えば、歩行アニメーションの場合、右足を出したポーズ(第1ステップ)と左足を出したポーズ(第2ステップ)この二つのポーズステップを ループさせれば歩行のように見えますが、ちょっと足が滑ってる感じ?躍動感がない?
そうです。第1ステップと第2ステップだけで実現される足が交差するアニメーションだけでは物足りません。
ループアニメーションの間に体全体(親ルート)を少し上下させるだけでだいぶ印象が変わります。

しかし、親ルートのY軸ポジションを上に上げる第1.5ステップ目をメインステップとして作ってしまうと、体が上がるという第1.5ステップ目のアニメーションが 完了するまで、足の交差のアニメーションが止まってしまいます。
このような状況に対応できるものがサブステップというわけです。