fpsは「1秒に何枚描くか」だけではない
fpsはframes per second、つまり1秒を何個の時間サンプルへ分けるかを表します。
手描きアニメーションでは「何枚描くか」と結び付けて説明されることが多いですが、デジタルのキーフレームアニメーションでは意味が少し変わります。キーフレーム自体を30個作らなくても、2つのキーの間を補間し、その途中を30fpsでサンプリングすれば30個の出力フレームを作れます。
反対に、コマ送りでは1枚の絵を何フレーム分保持するかによって、少ない絵でも長い時間を作れます。
6・12・24・30fpsは何ミリ秒おきか
1フレームあたりの時間は、おおよそ1000 ÷ fpsミリ秒です。
| FPS | 1フレームの時間 | 1秒の出力枚数 | 時間解像度 |
|---|---|---|---|
| 6fps | 約166.7ms | 6枚 | かなり粗い |
| 12fps | 約83.3ms | 12枚 | 簡潔な動きに使いやすい |
| 24fps | 約41.7ms | 24枚 | 細かな時間変化を表しやすい |
| 30fps | 約33.3ms | 30枚 | さらに細かい |
ここでいう「粗い」「細かい」は画質ではありません。時間をどれだけ細かく刻めるかです。
Character Motion Studioの現行FPS
現在のアニメーション編集画面では、書き出し設定のFPSを6〜30fpsの範囲で変更できます。新しく作成したアニメーションプロジェクトの初期値は12fpsです。
このFPSは、コマ送りモードと通常動画モードの両方で書き出し時の時間サンプリングに使われます。ただし、両モードで同じ意味ではありません。
| モード | 時間を決める主な値 | FPSの役割 |
|---|---|---|
| コマ送り | 各コマの表示時間 | 表示時間を何枚の出力フレームへ変換するか |
| 通常動画 | タイムライン上の時刻・キー | 補間された状態を何回サンプルするか |
コマ送りではFPSとコマ時間を分けて考える
現行のコマ送りモードには「コマ時間」があります。初期値は0.12秒で、全コマへ同じ表示時間を設定するUIになっています。
再生時は、このコマ時間を基準に次の絵へ切り替えます。一方、書き出し時は各コマの表示時間をFPSへ換算し、同じ絵を必要な枚数だけ繰り返して動画フレームへ変換します。
つまり、コマ送りで「12fpsにしたから12枚の絵を描く必要がある」という意味ではありません。1枚の絵を2フレーム、3フレームと保持できます。
コマ送りとキーフレームそのものの違いは「コマ送りアニメーションとは?キーフレームとの違い」で整理しています。
コマ時間は出力フレーム単位へ丸められる
動画は最終的にフレーム単位なので、任意の秒数を完全にそのまま表せるとは限りません。Character Motion Studioの現行コマ送り書き出しでは、コマ時間 × FPSを四捨五入して保持フレーム数を決めます。
そのため、設定したコマ時間が1フレーム時間の整数倍に近いほど、編集時の表示時間と書き出し後の表示時間を合わせやすくなります。
| FPS | 作りやすい保持時間の例 | 考え方 |
|---|---|---|
| 6fps | 約0.17秒、0.33秒、0.50秒 | 1・2・3フレーム保持 |
| 12fps | 約0.08秒、0.17秒、0.25秒 | 1・2・3フレーム保持 |
| 24fps | 約0.04秒、0.08秒、0.13秒 | 1・2・3フレーム保持 |
| 30fps | 約0.03秒、0.07秒、0.10秒 | 1・2・3フレーム保持 |
例えば12fpsでは0.12×12=1.44なので1フレーム、24fpsでは2.88なので3フレームになります。書き出し後の実時間は出力フレーム単位へ量子化されます。
このズレは異常ではなく、離散的なフレームへ時間を変換することで生じます。リズムを厳密に合わせたい場合は、使うFPSを先に決め、その1フレーム時間の整数倍に近いコマ時間を選びます。
通常動画ではFPSが補間結果のサンプル数を決める
通常動画モードでは、位置・回転・サイズ・パペット・パス線・ボーンなどのキーを時間軸へ置き、その間を補間して動きを作ります。
書き出し時は、指定した動画時間をFPSで区切り、それぞれの時刻でタイムライン状態を評価してフレームを作ります。
FPSを2倍にしてもキーフレームが2倍になるわけではありません。同じキー間をより細かな時刻で評価します。
したがって、動きの形そのものを変えたい場合はFPSではなく、キーフレーム位置、イージング、変形量を調整します。FPSはその結果をどれくらい細かく時間サンプリングするかの設定です。
FPSを上げると書き出しフレーム数も増える
同じ5秒なら、12fpsは約60フレーム、24fpsは約120フレーム、30fpsは約150フレームを処理します。FPSを上げるほど、レンダリング・エンコードする画像も増えます。
Character Motion Studioの通常動画書き出しでは、現在の書き出し時間とFPSから概算フレーム数を表示し、利用中のプランの上限を超える場合は書き出しを止めて、FPSまたは書き出し時間を下げるよう案内します。
同じ秒数でも処理フレーム数が増えるため、必要以上にFPSを上げると書き出し負荷も増えます。作品の動きが12fpsで十分なら、30fpsへ上げても元の演技設計そのものが増えるわけではありません。
動画形式とFPSを一緒に決めたい場合は「MP4・WebM・GIF・PNG連番の違い」も参照してください。
6・12・24・30fpsの使い分け
| FPS | 向きやすい表現 | 注意点 |
|---|---|---|
| 6fps | 意図的にカクつかせる、短いループ、シュールな動き | 1フレームが長く、細かいタイミング調整はしにくい |
| 12fps | シンプルな2Dキャラ、コマ送り感を残す動き | 速い移動ではステップが見えやすい |
| 24fps | 滑らかなキャラクター動作、細かな補間 | 12fpsの約2倍の出力フレームになる |
| 30fps | 細かな移動、UI的な動き、滑らかな画面運動 | 必要性がなければ処理量だけ増える場合がある |
重要なのは「プロは24fps」「SNSは30fps」と固定することではありません。キャラクターの動きが何ミリ秒単位で変わる必要があるか、何枚の絵を保持したいかで決めます。
先に動きの設計、あとからFPSを決める
FPSから作品を作り始めるより、先に「どの状態を何秒見せるか」「どこを補間したいか」を決める方が整理しやすくなります。
- コマ送りか通常動画かを決める。
- コマ送りなら、1枚を何秒見せるか決める。
- 通常動画なら、重要なキーポーズと時間位置を決める。
- その時間変化を表せるFPSを選ぶ。
- 書き出しフレーム数と負荷を確認する。
FPSは動きを作る数字ではなく、時間を切る細かさ。
まず演技とタイミングを決め、その後で必要な時間解像度としてFPSを選ぶと、無駄なフレームを増やさずに済みます。
まとめ
6・12・24・30fpsの違いは、単なる滑らかさの順位ではありません。6fpsなら約166.7ms、12fpsなら約83.3ms、24fpsなら約41.7ms、30fpsなら約33.3msごとに時間を評価します。
コマ送りでは、各コマの表示時間をFPSへ換算して保持フレーム数を決めます。通常動画では、補間されたタイムラインをFPS間隔でサンプリングします。
したがって、FPSを決めるときは「何fpsが一般的か」より、どの程度の時間解像度が必要か、同じ秒数で何フレームを書き出すことになるかを確認する方が実用的です。