キーフレームとは何か
キーフレームとは、「この時間では、この値にする」と記録する地点です。
例えばキャラクターを左から右へ移動させるなら、0秒でX=100、2秒でX=800という2つの状態を登録します。するとソフトが、その間の位置を計算して動かします。
Adobe Premiereのキーフレーム解説 ↗でも、キーフレームは時間上のあるポイントで位置・不透明度・音量などの値を指定するものとして説明されています。2つ以上のキーを置くと、その間の値は補間によって変化します。
キーフレームは「1コマの絵」ではない
ここは最初に混同しやすい部分です。例えば30fpsの動画なら、2秒間には60フレームあります。
しかし、0秒に位置A、2秒に位置Bという2つのキーフレームを設定したからといって、60枚の画像を自分で作る必要はありません。値の変化で作るアニメーションでは、ソフトが間の値を計算します。
Blender ManualのKeyframes ↗でも、キーフレームはプロパティ値を保存する時間上のマーカーと定義され、例えば1フレーム目と10フレーム目の位置を指定すると、その間は補間方式に応じて自動計算されます。
| 用語 | 意味 |
|---|---|
| フレーム | 映像の時間を構成する1単位。30fpsなら1秒に30フレーム。 |
| キーフレーム | その時間で値を指定した地点。すべてのフレームがキーになる必要はない。 |
作画アニメーションの「キー」は少し意味が違う
一方、手描きアニメーションでは「キー」「キーポーズ」という言葉が、重要な姿勢や動きの節目を指すことがあります。
例えば腕を振るなら、右まで振った絵と左まで振った絵が主要なキーポーズになり、その間をつなぐ絵が中割りです。
Toon Boom HarmonyのKeyframes ↗では、カットアウトアニメーションでキーフレームへポーズの座標を記録し、その間をソフトに補間させる考え方が説明されています。また伝統的な作画では、主要な姿勢をkey pose、間の絵をin-betweenとして扱います。
手描きアニメのキー=重要な絵・ポーズ、動画編集のキーフレーム=特定時間のプロパティ値と分けておくと混乱しにくくなります。
キーフレームには何を記録できるのか
位置だけではありません。一般的な動画・アニメーションソフトでは、位置、回転、拡大縮小、不透明度、エフェクト量、色、音量など、多くの数値へキーフレームを設定できます。
Character Motion Studioの現行Transformキーフレームは、各レイヤーについて次の値を保存します。
| 保存値 | 用途 |
|---|---|
| x / y | 位置 |
| width / height | レイヤー寸法 |
| scale | 拡大・縮小 |
| rotation | 回転 |
| opacity | 不透明度 |
例えば0秒でScale 50%、2秒でScale 100%なら、キャラクターが徐々に大きくなります。0秒でRotation 0°、1秒で20°、2秒で0°なら、途中で傾いて元へ戻る動きを作れます。
向きそのものが正面から側面へ変わる場合は、単純な回転ではなく別角度素材が必要になることがあります。1枚絵でできる範囲は「1枚のイラストを動かす方法」で整理しています。
「キーを打ったのに動かない」はなぜ起きる?
キーフレームは「動かす命令」そのものではありません。0秒と2秒の両方でX=100なら、2つのキーがあっても位置に差がないため動きません。
つまり、動きを作るには「時間の差」だけでなく「値の差」が必要です。
キーフレームは「点」、補間は「点と点のつなぎ方」
同じ始点と終点でも、途中の変化は補間方式によって変わります。
| 補間 | 見え方 |
|---|---|
| Linear | 一定の割合で変化し、均一な速度に見えやすい。 |
| Bezier / Ease系 | 加速・減速を付け、入りや止まりを柔らかくできる。 |
| Hold / Stop-Motion系 | 次のキーまで値を維持し、キー地点で切り替える。 |
Adobe Premiereの補間解説 ↗では、補間を2つの既知の値の間にある未知の値を埋める処理として説明しています。
Character Motion Studioの現行Transformキーフレームは、位置・サイズ・スケール・回転・不透明度を基本的に線形補間します。動きの緩急を強く付けたい場合は、中間キーの時刻と値を追加して調整する考え方が基本になります。
Character Motion Studioの「状態キー」は何が違う?
ここからはCharacter Motion Studio側の考え方です。一般的なキーフレームは「Positionの値」「Scaleの値」「Rotationの値」のように、プロパティを時間へ記録する概念です。
Character Motion StudioのUIでは◆を「状態キー」と呼び、「この時間のキャラクターがどういう状態なのか」を一つの地点として見つけやすくする設計を採っています。
例えば1秒時点に、位置X=500、回転10°、髪のパペット変形、腕のボーン姿勢、尻尾のPath変形が重なっているとします。作り手の感覚としては、それらを「1秒時点のポーズ・状態」として捉える方が分かりやすい場合があります。
| 一般的なキーフレーム | Character Motion Studioの状態キーという見せ方 | |
|---|---|---|
| 基本単位 | プロパティ値 | その時刻のキャラクター状態を確認する地点 |
| 感覚 | 値を記録する | ポーズ・状態を見る |
| 内部データ | 各プロパティのキー | Transform / Puppet / Bone / Pathで別々のキーを持つ |
この考え方は、デジタルパペットのポーズをタイムラインへ置く制作感覚に近い部分があります。ただし「状態キー」はAdobeやBlenderなどで共通する一般業界用語ではなく、Character Motion Studio側のUI・説明用語として分けて扱う方が正確です。
現行実装では、Transform・Puppet・Bone・Pathの保存先は1つに統合されていない
ここは現在のCharacter Motion Studioを説明するうえで重要です。◆が「状態キー」と表示されていても、内部では一つの巨大な状態オブジェクトへ全部を保存しているわけではありません。
| 種類 | 現行の保存単位 |
|---|---|
| Transform | LayerTransformKeyframe |
| Puppet | PuppetPinKeyframe |
| Bone | RigKeyframe |
| Path | Path側の独立キーフレーム |
タイムライン表示では、これらのキー時刻を集約して◆として見せ、Transform・パペット・Path・ボーンの件数も確認できるようになっています。一方、現行の共通◆ボタンが直接追加・削除するのはTransformキーフレームです。パペット・ボーン・Pathは、それぞれの編集・記録系統を持っています。
状態キーは「その時刻をキャラクター状態として見る」というUI上の考え方です。現行実装では、複数の変形方式は別トラック・別データとして保持されます。この区別を付けると、再生時に一部だけ戻る原因も追いやすくなります。
パペットを時間へ残す具体的な考え方は「パペットとタイムラインでアニメーション化する」で、パペット・ボーン・Pathの役割分担は「パペット・ボーン・パス変形の違い」で整理しています。
状態キーという考え方が便利になる場面
例えば髪をパペットで右へ曲げたとします。画面上では形が変わっていても、それがどの時刻へ記録された状態なのかは別の問題です。
動画編集経験者なら「キーフレームを打つ」、イラスト制作者なら「このポーズを時間へ残す」と考えるかもしれません。状態キーという言葉は、この2つの認識をつなぐためのラベルとして理解すると分かりやすくなります。
まず2つの時間に、違う状態を置く。
最初から複雑な曲線を作る必要はありません。位置・回転・スケールのようなTransformから始め、必要になったらパペットやボーン、Pathを追加します。
まとめ
キーフレームの本質は、難しい記号やダイヤマークではありません。時間のある地点に、変化させたい情報を記録することです。
フレームは映像の時間単位、キーフレームは値を指定する地点、作画のキーポーズは重要な姿勢。さらに補間が、その点と点の間をどうつなぐかを決めます。
Character Motion Studioの「状態キー」は、その時刻をキャラクターの状態として理解しやすくするUI上の考え方です。現行実装ではTransform・Puppet・Bone・Pathは別のキーデータを持つため、一般的なキーフレームの基礎と、CMS独自の見せ方を分けて理解するのが重要です。