ui
orbit animation / orbiting dots / elliptical orbit
いくつかの点が中心のまわりを楕円の軌道で回り続ける常時ループ。真円を平らに潰して軌道面を少しずつ傾け、手前に来た点だけを大きく濃くするだけで、平面のままでも「奥行きのある小さな天体」に見える。アイコン・ローダー・ボタンの装飾の定番。
02 — Prompt template
03 — Params
radius(軌道の半径 px) — 範囲 40〜110 / 初期 84
いちばん外側の軌道の半径。点ごとに0.3〜1倍の半径を割り振り、同心円に揃えない。アイコン内なら6〜10px、ヒーローの装飾なら80〜120pxが目安(デモは枠に収まる110pxまで)。tilt(軌道の縦の潰れ 比率) — 範囲 0.2〜1 / 初期 0.45
縦方向の半径÷横方向の半径。1で真上から見た真円、0.35〜0.6で斜めから覗いた軌道になり奥行きが出る。0.25を切ると横一線の往復に見える。period(基準の周期 s) — 範囲 1.5〜12 / 初期 2.5
いちばん速い点が1周する秒数。ほかの点は0.8〜1.7倍にばらし、半分は逆回りにする。2〜4sで「稼働中」、6s以上で背景の気配になる。depth(手前と奥の大きさの差) — 範囲 0〜0.4 / 初期 0.2
軌道の手前(下半分)で大きく、奥(上半分)で小さくする振れ幅。0.15〜0.25で自然。0だと平面を滑っているだけに見え、0.35を超えると点が膨らんだり縮んだりして見える。
04 — Vocab
elliptical orbit(楕円軌道) — 真円の縦半径だけを縮めた軌道。斜めから覗いた円に見えるので、それだけで回転面に奥行きが生まれる。
@property — CSSカスタムプロパティに型( や )を登録する規則。登録すると角度や混合率を @keyframes や transition で補間でき、cos()/sin() に渡して軌道を描ける。
phase(位相) — 周回の開始角度。点ごとにずらすと一斉に同じ位置を通らなくなり、静止時もばらけた配置になる。
depth cue(奥行きの手がかり) — 大きさ・濃さ・重なり順など、平面で奥行きを感じさせる要素。軌道の手前で大きく濃く、奥で小さく薄くするのが最小構成。
05 — NG → OK examples
NG
言い方: 「「ロゴのまわりを点がくるくる回るアニメーションにして」」
なぜNG: 「くるくる回る」だと、点を並べた親要素ごと rotate する実装が返ってきやすい。全点が同じ速さ・同じ真円で回るので時計の針のように機械的になり、奥行きも出ない。周期も指定が無く、速すぎるとローディング中に見える。
OK
言い方: 「「orbit animationを実装。点5個をそれぞれ別の楕円軌道(縦横比0.45・軌道面は点ごとに傾ける)で周回。@property --orbitで角度を回し、周期2.5sを基準に0.8〜1.7倍・半分は逆回り。手前ほどscale 1.2・奥ほど0.8で薄く。ホバーで--mixを0.5sで補間して回し始める。reduced-motionは静止配置」」
なぜOK: 親ごと回すのではなく点ごとに角度を持たせる方式と、軌道の潰れ・周期のばらし・奥行きの振れ幅まで数値で指定している。「手前ほど大きく濃く」の一言で、平面の円運動が立体の周回に変わる。
