画面遷移
全体遷移図
遷移条件一覧
| 遷移元 | 遷移先 | トリガー | 条件 |
|---|---|---|---|
| Loading | PortalCutin | 自動 | URLに ?portal=true が存在 |
| Loading | CharCreate | 自動 | localStorage にセーブデータなし |
| Loading | Lobby | 自動 | localStorage にセーブデータあり |
| PortalCutin | Lobby | 自動/スキップ | 演出完了 or 画面タップ |
| CharCreate | Lobby | ユーザー操作 | 名前入力・カラー選択完了 |
| Lobby | Dungeon | ユーザー操作 | ミッションポータルに接近 → ミッション選択 |
| Lobby | ExternalRedirect | ユーザー操作 | Vibeverseポータルに接近 → 確認 |
| Dungeon | Result | 自動 | ミッションクリア or HP=0 |
| Result | Lobby | ユーザー操作 | 「ロビーに戻る」ボタン |
画面遷移トランジション
各画面遷移にはシンセウェーブテーマのトランジションエフェクトを適用する。
トランジションパターン
| パターン | 用途 | 演出 | 所要時間 |
|---|---|---|---|
| リフトオープン | ロビー → ダンジョン | 画面中央から裂け目が開き、次画面が覗く | 0.8s |
| グリッチフェード | 汎用遷移 | グリッチエフェクト + フェードアウト/イン | 0.5s |
| スキャンライン | リザルト → ロビー | CRTスキャンライン風のワイプ | 0.6s |
| カットイン | ポータル経由時 | ペルソナ風フルカットイン | 2.5s |
リフトオープン トランジション詳細
Ratchet & Clank の次元リフトにインスパイアされたエフェクト:
時間軸: 0s ────────── 0.3s ────────── 0.6s ────────── 0.8s
│ │ │ │
│ 現画面に │ 裂け目が │ 裂け目から │
│ 亀裂ライン │ 広がる │ 次画面が溢れ │
│ が走る │ (紫の光) │ 出して切替 │- 0.0s - 0.3s: 画面にグリッチノイズが走り、中央に紫色の亀裂ラインが出現
- 0.3s - 0.6s: 亀裂が上下に裂けて広がる。裂け目の縁はネオンピンクに発光。裂け目の中には次画面がプレビューされる
- 0.6s - 0.8s: 裂け目が画面全体に広がり、次画面に完全に切り替わる。最後にブルームエフェクトのフラッシュ
css
/* リフトトランジションのCSS概要 */
.rift-transition {
position: fixed;
inset: 0;
z-index: 9999;
}
.rift-crack {
background: linear-gradient(
to bottom,
transparent 0%,
#a855f7 48%,
#ff2d75 50%,
#a855f7 52%,
transparent 100%
);
clip-path: polygon(/* 亀裂形状 */);
animation: rift-open 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
@keyframes rift-open {
0% { transform: scaleY(0); filter: brightness(1); }
30% { transform: scaleY(0.01); filter: brightness(3); }
100% { transform: scaleY(1); filter: brightness(1); }
}モバイル時の遷移注意点
- カットイン演出はタップでスキップ可能
- 遷移中のユーザー入力は全てブロック
- 遷移エフェクトが重い場合、モバイルでは
prefers-reduced-motionを検出して簡略化