LAB へ戻る
[LAB NOTE] — 瞬間の打撃感 — Shader と URP で作る Dash Attack のリズム
REC ● 00:00:00:00

瞬間の打撃感

Shader と URP で作る Dash Attack のリズム

shader は分からない。でも「どの一瞬に感覚が要るか」は分かる。一格ずつ試して組み上げた dash 演出の記録。

TYPE
シェーダー演出 / ゲームフィール
ROLE
企画から実装まで一人で
PLATFORM
PC
STATUS
進行中

I KNOW WHEN IT NEEDS TO FEEL

shader は分からない、でも「感覚の瞬間」は分かる

最初から、ただの装飾エフェクトを作るつもりはなかった。プレイヤーが操作した瞬間、「いま角色が何をしているか」が自然に伝わること——それが狙いだった。

  • Inspector の値がどう動くかを見る
  • アニメを一格ずつ key で打つ
  • 手元のツールで何度も試し、つなぎ合わせる

shader は正式に学んでおらず、URP も初めて。だから dash 攻撃の流れは、全体が「非典型だが実用的」なやり方の積み重ねでできている。

VANISH

過程の始まり:角色が一瞬で消える

dash の開始で、私はアニメを引っ張るのではなく、角色そのものを消したかった。shader graph に _Alpha を制御する float を作り、それを Animator で動かす。

角色が消えると、画面は自然と「予想外」のリズムの空白に入り、次の動作を予告する。きれいなエフェクトのためではなく、「本当に一瞬ブレた」という錯覚を作るため——予告なく通常のリズムから飛び出し、プレイヤーの心理を緊張させる。

FIG.01 — Animator で MeshRenderer / α を制御 (1)
FIG.02 — Animator で MeshRenderer / α を制御 (2)
▶ 検証ビルドより
FIG.03 — dash 攻撃の一連の演出

FISHEYE COMPRESSION

魚眼 URP:勢いは音ではなく画面の圧縮で

角色が dash を始めると、URP の後処理 volume で魚眼の圧縮効果をかけ、画面中央をわずかに押し広げる。視覚の gimmick ではなく、「空間を締める」——いま高速動作に入っている、という宣言だ。

全体の流れはこう:角色が消える → 画面が圧縮される → カメラが寄る——静から動への起手転場。

REAPPEAR & STRIKE

出現と打撃:瞬間登場 + カメラが寄る

dash の終点は元の位置ではなく、敵の正面。角色が再び現れる瞬間に shader を差し替え、光の縁取りで「光が弾けた」ように見せ、同時に画面を一度震わせる。

カメラはバインドで角色に貼り付けるのではなく、script で角色の位置を常に計算し slerp で寄せている。だから角色が敵の前へ瞬間移動しても、カメラは硬く cut せず、目標位置へ滑らかに滑り込む——「背後に貼りつく」打撃の臨場感が生まれる。

これは元々カメラ系統が「計算式の追従」だったことの副産物でもある。dash の移動がカメラを新しい位置へ引っ張り、結果として「ゆっくり貼り直す」動きが生まれた。

BACK TO STILL

還元:リズムが静かに落ちる

攻撃後はすべての shader / volume 効果を戻し、角色は構えを収め、画面から余計な動きを消す。この静けさは技術的処理ではなく、リズムを地面に着地させるため——「いま技は終わった、次はあなたが決める」とプレイヤーに伝える間。

HOW IT WAS BUILT

開発過程:試しながら組む

timeline や特別な VFX ツールは使わず、次の方法だけで組んだ。

  • Animator で material 内の float 値を制御
  • 死亡エフェクトは shader dissolve で角色を徐々に消す
  • すべての shader 状態を自作の material controller で管理
  • 透明・閃光・dissolve は shader 差し替えと値の制御で実現

実装中の hardcode を避けるため、状態ごとに 1 組の material を用意した。切り替えは一行で全体の効果が決まり、後からの変更も楽になる——shader コードを書かずに、設定済みの material を差し替えるだけで攻撃態のアニメ同期演出ができる。

CLOSING

結語:靚さのためでなく、「いま何をしているか」を伝えるため

この dash combo は業界標準の作り方では決してない。でも、一格ずつ試し、頭の中の画面を組み直して作ったものだ。

  • shader は書けないが、何が make sense かは分かる
  • 美術センスはないが、いつ画面に「節目」を出すべきかは分かる
  • ツールの包装に頼らず、一歩ずつリズムを build する

もしあなたも初心者 / 一人開発者 / shader に不慣れでも、画面・直感・想像があるなら——あなただけの打撃感は作れる。