エディターの仕組み
オブジェクト、フレーム、スパン、レイヤー、親、キーフレーム:エディター全体はこの6つの考え方の上に成り立っています
この6つがわかれば、エディターの残りの部分は自然に読み解けます:
| 考え方 | 要点 |
|---|---|
| オブジェクト | シェイプ(見えるもの)とコライダー(当たるもの)の2つの別々のフィールド |
| フレーム | 時間のマス目であり、瞬間ではない |
| スパン | オブジェクトの存続期間:開始と長さ。終わりは含まない |
| レイヤー | 描画順。すべての親のレイヤーと足し合わされる |
| 親 | トランスフォーム、アクティブ状態、存続期間を子に引き継ぐ |
| キーフレーム | 1つのフレームでのフィールドの値。キーフレームの間の値はゲームが自動で動かす |
知らない言葉:用語集
オブジェクト
オブジェクトは、描画されるものであり、当たるものでもあります。この2つは別々のフィールドです:シェイプ(見えるもの)とコライダー(当たるもの)。光っていても決して当たらないビームは、シェイプがあってコライダーがないオブジェクトです。見えない壁はその逆です
フレームとスパン
フレームは時間のマス目であり、瞬間ではありません。フレーム30は点ではなく、区間を占めます。タイムラインは1から数えます。長さ900フレームのレベルには、フレーム1から900までがあります。901という数は終わりの境界であり、フレームではありません
スパンはオブジェクトの存続期間です:開始と長さ。終わりはスパンに含まれません。そのため、続けて並べた2つのオブジェクトが共通のフレームで重なることはありません
レイヤーと親
レイヤーは描画順です。レイヤーは相対的です:オブジェクトのレイヤーには、すべての親のレイヤーが足し合わされます
レイヤーが大きいほど手前に描画されます。最終的なレイヤーが同じ2つのシェイプでは、新しいほう(IDが大きいほう)が奥に描画されます。そのため、上に表示したいシェイプには大きいレイヤーを設定します
オブジェクトを別の親の下にドラッグすると、数値に触れていなくても描画順が変わります
親は、トランスフォーム、アクティブ状態、存続期間を子に引き継ぎます。子のスパンは親のスパンの内側に収まっている必要があります
エディターは、作者が書いた値を切り詰めることはありません。書いた値を保ったまま、実際に使われる値を別に計算します。そのため、親を縮める操作は元に戻せます:親を広げ直せば、子も戻ってきます
キーフレーム
キーフレームは、1つのフレームでのフィールドの値です。2つのキーフレームの間の値は、ゲームが自動で動かします。フィールドごとに独自のキーフレームの組があります:位置、回転、スケール、サイズ、アンカー、ピボット
キーフレームのないフィールドは壊れているわけではなく、デフォルト値を使います。見た目を整えるためにすべてにキーフレームを打つ必要はありません
キーフレームが何を保存し、値がキーフレームの間をどう動くか:キーフレームとイージング
座標
位置、サイズ、距離はワールド単位で表されます。カメラが独自のキーフレームを持たない間は、点(0, 0)が画面の中央です。xは右へ、yは上へ増えます
カメラのズームは、見える範囲の高さを単位で表したもので、デフォルトは10です。そのため、16:9の画面ではxがおよそ-8.89から8.89、yが-5から5まで映ります。画面の横幅が広くても狭くても、変わるのは幅だけです
位置のキーフレームは親に対する相対値です。親のアンカー点からオブジェクトのピボットまでのオフセットで、親と一緒に回転し、拡大縮小されます。親のないオブジェクトはワールド座標に置かれます。カメラの子はカメラと一緒に動きます
- ピボット:位置で配置される、オブジェクト自身の矩形上の点。回転とスケールはこの点を中心にかかります。デフォルトは中央の
(0.5, 0.5) - アンカー:位置を測る起点になる、親の矩形上の点。
(0, 0)(左下)から(1, 1)(右上)まで。デフォルトは中央。2つのアンカーが異なると、子は親と一緒に伸び縮みします
回転は反時計回りです。ファイルにはラジアンで保存され、AIアシスタントもラジアンで書きます。インスペクターはデフォルトで度を表示し、エディター設定の回転の単位でラジアンに切り替えられます