キーフレームとイージング
キーフレームは、1つのトラックの1つのフレームでの値と、その値に到達するまでのイージングです。レベル内で動くもの、色が変わるもの、オンとオフが切り替わるものは、すべてキーフレームのリストです
基本的な考え方:エディターの仕組み。キーフレームのインスペクターの全フィールド:オブジェクトのプロパティ
アニメーションできるもの
トラックはそれぞれ独自のキーフレームを持ち、ほかのトラックからは独立しています:
| 持ち主 | トラック |
|---|---|
| すべてのオブジェクト | 位置、回転、スケール、サイズ、アンカー、ピボット |
| シェイプ | 色、UV |
| テキスト | 色、フォントサイズ、塗りつぶし(テキストのどれだけが書かれているか)、出現(どれだけがマスクに隠れているか) |
| カメラ | 位置、回転、ズーム、ピボット、揺れ |
| レベル | 背景、テーマ、画面制限、12種類のポストプロセス効果のそれぞれ |
| プレイヤー | サイズ、速度、表示、操作、衝突 |
シェイプの色のキーフレームは、オブジェクトの矩形全体にかかるグラデーションにもできます。グラデーションフィールドで配置を選びます:単色(1色)、垂直(下から上)、水平(左から右)、四隅(四隅それぞれに1色)
フォントサイズのキーフレームは、ワールド単位の固定サイズを表す1つの数値か、自動サイズをオンにした範囲のどちらかです。テキストは範囲の最大で描画され、矩形に収まるまで最小に向かって縮みます
オブジェクトのキーフレームは、そのスパンの開始から数えられます。そのため、オブジェクトを時間方向に動かすと、アニメーション全体も一緒に移動します
位置は親に対する相対値で設定します。キーフレームには、前のキーフレームからの増分ではなく、値そのものが保存されます
プレイヤーの表示、操作、衝突は、オンかオフのどちらかです。これらのキーフレームにはイージングがありません:混ぜ合わせるものがないためです
空のプレイヤートラックに打った最初のキーフレームは、画面上で何も変えません:表示、操作、衝突はオンで始まり、サイズと速度はプレイヤーの通常の値で始まります。操作がオフのとき、またはプレイヤーが非表示のときは、プレイヤーを操作できません:カーソルが消え、入力は受け付けられません。非表示のプレイヤーにも攻撃は当たります:それを決めるのは衝突だけです
テキスト:書き出しと出現
2つのテキストトラックは、それぞれ異なる方法で文字を隠します。どちらも0から1の割合を取り、テキストの文字数を数えます
塗りつぶしは、テキストのうち書かれている割合です:0は何もなし、1はすべて。書かれていない文字はまったく描画されないので、行が短くなります。空のトラックではテキスト全体が書かれます。方向はキーフレームごとに設定します:
順方向(デフォルト):最初の文字から、タイプライターのように逆方向:最後の文字から中央から:中央から広がる中央へ:両端から伸びて中央で合わさる
出現は、マスクに隠れている文字の割合です:0はすべて表示、1はすべてマスク。隠れた文字は位置を保ったまま、マスク文字(デフォルトはX)として描画されます。マスクはテキストオブジェクトの出現マスクフィールドで、複数の文字を入れると、隠れた文字それぞれがそのうちの1つを使います。空のトラックでは何も隠れません。モードはキーフレームごとに設定します:
ランダム(デフォルト):ばらばらに、ただし毎回同じ散らばり方で。0.3で隠れている文字は0.6でも隠れているので、テキストはちらつかずに浮かび上がります順方向:隠れた文字が末尾にあり、テキストは先頭から現れる逆方向:隠れた文字が先頭にある
1行をタイプするように表示するには、塗りつぶしを0から1へアニメーションさせます。ノイズの中から解読されるように表示するには、出現を1から0へアニメーションさせます
アドバイス
- キーフレームは動くものにだけ打ってください。キーフレームのないトラックはデフォルト値を使います
- ビートちょうどで変化させるには
Constantを使います。たとえば、ドロップでのテーマの切り替えです - 回転は一周で折り返されません:0度のキーフレームと720度のキーフレームでは、オブジェクトは2回転します。ファイルやAIアシスタントが書くラジアンでは、0と12.566です
2つのキーフレームの間
最初のキーフレームより前と最後のキーフレームより後では、値は止まったままです。2つのキーフレームの間では、ゲームは経過した時間の割合を取り、それをイージングに通して、2つの値を混ぜ合わせます
割合は描画されたフレームではなく時間で数えられます。そのため、30fpsでも144fpsでもカーブは同じです
イージングはペアの後ろのキーフレームに属します。キーフレームのイージングは、前のキーフレームからこのキーフレームに到達するまでの区間を決めます。そのため、トラックの最初のキーフレームのイージングは決して表れません。新しいキーフレームにはLinearが設定されます
イージングフィールドでイージングを選択ウィンドウが開き、各イージングがそれぞれのカーブとして描かれています。複数のキーフレームを、別々のトラックにあっても選択し、1回の元に戻す操作の単位でまとめて変更できます
29種類のイージング
Linearは直線です。Constantは前の値を保ち、キーフレームで値が飛びます
残りの27種類は、3種類ずつの9つのファミリーです:In、Out、InOut。たとえばInSine、OutSine、InOutSineです
| ファミリー | 形 |
|---|---|
Sine | 最もなめらかなカーブ |
Quad、Cubic、Quart、Quint | 2乗、3乗、4乗、5乗 |
Expo | 指数関数 |
Circ | 円の4分の1 |
Back | 範囲を越えてから戻る |
Elastic | 値の周りで振動する |
Inはゆっくり始まって速く終わります。Outは速く始まって落ち着きます。InOutは両端でゆっくりです。SineからExpoまで、ファミリーは後になるほど鋭くなります
BackとElasticは範囲の外に出ます:Outは目標を行き過ぎ、Inは開始点より後ろに下がります。コライダーはオブジェクトと一緒に動きます。そのため、安全地帯の縁で止まるはずの弾は、数フレームのあいだ安全地帯に入り込みます
ランダムな値
キーフレームの値は1つの数値である必要はありません:
- 数値:
値、ランダム範囲、ランダム範囲、ステップ - ベクトル(位置、スケールなど):
値、矩形内ランダム、矩形内ランダム、ステップ、円内ランダム、A~B間ランダム、A~B間ランダム、ステップ - 色:
値、テーマ、ランダム範囲、A~B間ランダム
矩形内ランダムは軸ごとに別々に値を選びます。A~B間ランダムはすべての軸に1つの数値を選ぶので、点はAとBを結ぶ線上に乗ります。ステップのある形式は、結果をステップの倍数に切り捨てます。ステップが0ならグリッドはオフになり、値はステップのない形式と同じように振る舞います。その後、キーフレームはほかのキーフレームと同じように混ぜ合わされます
同じシードからは同じレベルが得られます。乱数は、シード、キーフレームのフレーム、レイヤー、オブジェクトの開始フレーム、トラック、チャンネルから計算されます。詳細:決定性