media
twinkle / twinkling stars / starfield twinkle / shooting star
小さな光点を明滅と拡縮で呼吸させ、夜空や「AIのきらめき」を背景に置く常時ループ。効くのは動きそのものより周期のばらつきで、全点が同じ周期だと一斉に点滅する電飾になり、±20〜30%ずらすだけで本物の星空に変わる。
02 — Prompt template
03 — Params
count(星の数) — 範囲 20〜160 / 初期 80
ヒーロー1枚分で60〜100個が目安。多すぎると粒子ノイズに見え、20個台だと「星」ではなく「点」になる。duration(明滅1周の基準時間 s) — 範囲 0.8〜4 / 初期 1.9
1.5〜2.5sが星らしい。1sを切るとチカチカして警告灯に近づき、3sを超えると呼吸のような穏やかさになる。jitter(周期のばらつき ±%) — 範囲 0〜60 / 初期 25
星ごとに周期を基準から±何%ずらすか。20〜30%で自然に散る。0にすると全点が同期し、電飾の一斉点滅になる。shootEvery(流れ星の間隔 s) — 範囲 0〜20 / 初期 9
流れ星が1回走る周期。8〜15sに1回なら「たまに気づく」ご褒美になる。0で流れ星なし。5s未満は騒がしい。
04 — Vocab
animation-delay(負の値) — 負のdelayは「その秒数だけ再生済みの状態」から始める指定。待ち時間なしで各星の位相を最初からばらせる。
周期のばらつき(jitter) — 要素ごとに周期を少しずつ変えること。周期がずれ続けるので同期が起きず、ループの継ぎ目も見えなくなる。
シード付き乱数 — 同じ種から毎回同じ乱数列を出す方式。星の配置を再描画やSSRとクライアントでぶらさないために使う。
流れ星(shooting star) — 長い周期の大半を待機に使い、一瞬だけ走らせる演出。頻度を下げるほど「見つけた」感が出る。
05 — NG → OK examples
NG
言い方: 「「背景に星がキラキラする感じを入れて」」
なぜNG: 全部の星に同じ animation を当てただけの実装が返り、全点が同じ瞬間に明るくなって電飾のように一斉点滅する。box-shadow をアニメーションする重い実装や、canvas で毎フレーム全星を描き直す実装になることも多い。
OK
言い方: 「「twinkling starsを実装。1〜4pxの星80個を固定乱数で配置、opacity 0.15→1とscale 0.6→1.4のkeyframes共有、周期1.9s±25%を星ごとに振って負のdelayで位相をばらす。流れ星は9sに1回。opacity/transformのみ、reduced-motionは静止」」
なぜOK: keyframes は共有しつつ周期と位相だけを個体ごとにずらす、という「自然に見える理由」を指定している。数・基準周期・ばらつき・流れ星の頻度が数値で揃うので、電飾にも騒がしい背景にもならない。
