11.2. アニメーションプロジェクトの構成
アニメーションプロジェクトの構成について説明します。大まかに言うと次のようになっています。
- タイムライン
-
タイムラインはアニメーションの基本単位です。1つのタイムラインに1つのロール、1つのキャストが対応しています。実際の機能としては次のロールがすべて受け持っています。
- ロール・役割
-
ロールとは、各オブジェクトがタイムラインにおいてどう動くかの役割・キャラクターの動作のまとまりです。ロールの中には割り当てるキャスト、そしてキーフレームのデータが存在します。ロールは同じオブジェクトの種類であれば、別のオブジェクトに差し替えることができます。
- キャスト・オブジェクト・アバター
-
キャストとはロールに割り当てるオブジェクトのことです。ここが実際のVRoid/VRM、FBX、Light、Audioなどのオブジェクトの実体となっています。本アプリでは単にオブジェクトとか、アバターなどとも言い換えています。
- キーフレーム
-
キーフレームはロールの実際の動きのデータ、モーションです。このデータはあくまでロールが保持しており、原則として各オブジェクトには依存しない形になっています。
タイムライン・ロール・キャストの関係
タイムラインは最終的にはロールと同じ意味です。それからキャストは実際のオブジェクトと同じ意味です。
ロールはキャスト(オブジェクト)と1:1で紐付いています。ロールはキャストなしの状態がありえますが、キャストはロールなしには動くことはできません。
厳密ではなくゆるい紐付きです。そのため、ロールには後から別のキャスト(オブジェクト)を紐付けることができます。
例で言うと次のようになります。(色とアイコンは上記の例に対応しています)
実際のアニメーションデータはロールが持っています。そのためそのモーションを再生するのに実際のキャスト(オブジェクト)が何であるかは問いません。
上記の仕組みのために、好きなアニメーションを好きなオブジェクトで再生することができるようになっています。