ドキュメント

エフェクト(v2)

背景エフェクトの使い方と一覧

← 目次に戻る


エフェクトの使い方

背景エフェクトは Canvas 上に描画されるアニメーションです。ページ全体またはセクション単位で使用できます。

ページ全体にエフェクトをかける

---
effects:
  - BgEffectSnow
---

body 直下に固定の canvas が生成され、ページ全体にエフェクトが表示されます。

セクション単位でエフェクトをかける

---
sections:
  - template: hero-basic
    title: "タイトル"
    effects:
      - name: BgEffectSnow
        count: 50
        alpha: 1.2
---

セクション内に canvas が配置され、そのセクションだけにエフェクトが表示されます。パラメータでカスタマイズできます。

同じエフェクトを複数箇所で使う

パラメータ違いで同じエフェクトを複数のセクションに配置できます。各インスタンスは独立して動作するためコンフリクトしません。

sections:
  - template: hero-basic
    effects:
      - name: BgEffectSnow
        count: 80
        alpha: 1.0
  - template: cta-basic
    effects:
      - name: BgEffectSnow
        count: 20
        alpha: 0.5

エフェクトファイルの配置

エフェクトの JS ファイルはプロジェクトの _effects/ ディレクトリに配置します。

src/_effects/
  bg-effect-snow.js
  bg-effect-aurora.js
  bg-effect-firefly.js
  ...

ファイル名は kebab-case、クラス名は PascalCase です。

ファイル名 クラス名(YAML での指定)
bg-effect-snow.js BgEffectSnow
bg-effect-aurora.js BgEffectAurora

エフェクト一覧

CLI で npx ak2 list effects を実行すると全エフェクトを確認できます。

エフェクト 説明 デモ
BgEffectAurora オーロラ。幻想的・神秘的な演出 ライト / ダーク
BgEffectCherryBlossom 桜吹雪。春・和風サイト ライト / ダーク
BgEffectCloud 雲。空・清潔感・爽やかさ ライト / ダーク
BgEffectEmber 残り火。情熱・夏祭り ライト / ダーク
BgEffectFirefly 蛍。夏・幻想的 ライト / ダーク
BgEffectGrid グリッドライン。テクニカル・ミニマル ライト / ダーク
BgEffectLeaf 葉っぱ。ナチュラル・エコ系 ライト / ダーク
BgEffectLeafFall 落ち葉。秋のシーン ライト / ダーク
BgEffectLightning 稲妻。エネルギッシュ・テック ライト / ダーク
BgEffectMapleLeaf 紅葉。日本の秋 ライト / ダーク
BgEffectMomiji もみじ(赤みバリエーション) ライト / ダーク
BgEffectParticle パーティクル(Three.js) ライト / ダーク
BgEffectProjectorFlicker プロジェクターフリッカー。レトロ感 ライト / ダーク
BgEffectRain 雨。梅雨・夜の雨 ライト / ダーク
BgEffectRipple 波紋。水・清涼感 ライト / ダーク
BgEffectSakura 桜。春 ライト / ダーク
BgEffectShimmer きらめき。高級感・ジュエリー ライト / ダーク
BgEffectSnow 雪の舞い。冬・クリスマス ライト / ダーク
BgEffectSparks 火花。工場・ものづくり ライト / ダーク
BgEffectStarField 星空。夜・宇宙 ライト / ダーク
BgEffectStarSpeed スタースピード。SF・ワープ ライト / ダーク
BgEffectStatusUp ステータスアップ。ゲーミング ライト / ダーク
BgEffectSteam 蒸気。温泉・カフェ ライト / ダーク
BgEffectVintageFilm ヴィンテージフィルム。レトロ・映画的 ライト / ダーク
BgEffectWave 波。海・音楽・リズム感 ライト / ダーク
BgEffectWaveRipple 波紋ウェーブ。海・プール ライト / ダーク

エフェクトの共通パラメータ

各エフェクトは CSS 変数またはフロントマターのオプションでカスタマイズできます。フロントマターのオプションが CSS 変数より優先されます。

effects:
  - name: BgEffectSnow
    count: 40        # 粒子数
    alpha: 1.2       # アルファ係数
    hue: 210         # 色相
    lightness: 55    # 明度

パラメータはエフェクトごとに異なります。各エフェクトの JS ファイル冒頭にパラメータ仕様がコメントで記載されています。


エフェクトの自作

_effects/ に JS ファイルを追加するだけです。以下のインターフェイスを実装してください。

class BgEffectMyCustom {
  constructor(options = {}) {
    // options: フロントマターから渡されるパラメータ
  }
  init(canvas, ctx) {
    // Canvas とコンテキストを受け取り初期化
  }
  update(dt) {
    // フレームごとの状態更新(dt = 経過ミリ秒)
  }
  draw(ctx) {
    // Canvas への描画
  }
  onResize(w, h) {
    // リサイズ時に呼ばれる
  }
}
window.BgEffectMyCustom = BgEffectMyCustom;

ファイル名は bg-effect-my-custom.js(kebab-case)にしてください。


前のページ: ← v2 アーキテクチャ概要 | ↑ 目次 | CLI ツール →