hover
line boil / boiling lines / stop-motion jitter / hand-drawn wiggle
線や文字が数フレームごとにカクッと位置と角度を変え、手描きアニメやコマ撮りのように「ふつふつ沸いて」見える震え。滑らかに補間せず steps() で数枚の姿勢を切り替えるのが要で、静止画のUIに手仕事の温度とアナログ感を足せる。
02 — Prompt template
03 — Params
fps(1秒あたりの姿勢の切り替え回数) — 範囲 4〜24 / 初期 10
8〜12がコマ撮りらしい粗さ(12がアニメの「2コマ打ち」)。16を超えると震えではなく振動に見え、手描き感が消える。amplitude(位置のずれ px) — 範囲 0.2〜4 / 初期 1.4
姿勢ごとに動く最大距離。ボタンや文字は1〜1.5pxで「生きている」程度、3pxを超えると揺れが主役になり読みにくい。rotation(角度のずれ deg) — 範囲 0〜4 / 初期 1
姿勢ごとの傾き。1deg前後で線が描き直されたように見える。0にすると平行移動だけの機械的な震えになる。
04 — Vocab
boil(ボイル) — 手描きアニメで、止まっている絵も毎コマ描き直すため線が沸き立つように揺れる現象。これをあえて演出として再現する。
steps(1) / step-end — キーフレーム間を補間せず、次のキーフレームまで値を保持するタイミング関数。姿勢を「切り替える」ための必須指定。
2コマ打ち(on twos) — 24fpsの映像で同じ絵を2コマずつ使う、つまり実質12fps。コマ撮り・手描きの標準的な粗さで、fpsの目安になる。
層のずらし(desync) — 板と文字など重なった要素を別周期・逆再生で震わせること。同じ周期だと1枚の画像が揺れているだけに見える。
05 — NG → OK examples
NG
言い方: 「「ホバーしたらボタンを手描きっぽくぷるぷるさせて」」
なぜNG: 「ぷるぷる」だと ease-in-out の滑らかな往復(=error shake や wiggle)が返ってくる。補間せずに姿勢を切り替える、という一番大事な点が伝わらず、手描きではなくただの振動になる。
OK
言い方: 「「line boilをhover時に。@keyframesに4姿勢(最大1.4px・1deg)、steps(1)で10fps=0.4s infinite。板と文字は別周期でずらす。transformのみ、reduced-motionで停止」」
なぜOK: 「steps(1)で補間しない」「姿勢の数とfps」「層をずらす」を指定している。この3つが揃って初めて、滑らかな揺れではなくコマ撮りの粗さになる。
