以前[Geometryangle]と[Particleground]という2つのjQueryプラグインを紹介しましたが、今日ピックアップする[particles.js]も同じような機能で、ウェブページの背景に幾何学模様を描画することができます。

こちらが前述の過去に紹介した2つ。

今日紹介する[particles.js]のサンプルは以下のURLからご覧いただけます。

particles.js : 実装サンプル

3つともよく似ていますが、それぞれ特徴が異なります。

[particles.js]はjQuery不要で動き、ファイル容量も軽く、また設定も比較的簡単なので初心者の方でも扱いやすくなっています。

[particles.js]の使い方。

最初に公式サイトからファイルをダウンロードしていきます。

particles.js : http://vincentgarreau.com/particles.js/

上記サイトから「Download」をクリックするとスグにダウンロードがはじまります。

使用するのは[particles.min.js]というスクリプト・ファイル。
圧縮してあるので25KBと軽量です。
ちなみに圧縮前の「particles.js」というファイルも梱包されていますが、こちらは約45KBになっています。

この[particles.min.js]をHTMLの適当な箇所で読み込みます。

<script src="particles.js"></script>

続いて幾何学模様の背景を描画する要素を作ります。

<div id="particles-js"></div>

これだけでOK!
簡単ですね。

このボックス要素が画面いっぱいに広がるようにスタイルシートで設定しておきましょう。

#particles-js {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: block;
z-index: 0;
}

起動させる初期設定について

[particles.js]を動かすための設定を行います。

ここでは別途[set.js]と名付けたスクリプト・ファイルを新たに用意して、以下のコードを記述します。
ちょっと長くなりますがコピペでOKです。

particlesJS('particles-js',
  {
    "particles": {
      "number": {
        "value": 80,
        "density": {
          "enable": true,
          "value_area": 800
        }
      },
      "color": {
        "value": "#ffffff"
      },
      "shape": {
        "type": "circle",
        "stroke": {
          "width": 0,
          "color": "#000000"
        },
        "polygon": {
          "nb_sides": 5
        },
        "image": {
          "src": "img/github.svg",
          "width": 100,
          "height": 100
        }
      },
      "opacity": {
        "value": 0.5,
        "random": false,
        "anim": {
          "enable": false,
          "speed": 1,
          "opacity_min": 0.1,
          "sync": false
        }
      },
      "size": {
        "value": 5,
        "random": true,
        "anim": {
          "enable": false,
          "speed": 40,
          "size_min": 0.1,
          "sync": false
        }
      },
      "line_linked": {
        "enable": true,
        "distance": 150,
        "color": "#ffffff",
        "opacity": 0.4,
        "width": 1
      },
      "move": {
        "enable": true,
        "speed": 6,
        "direction": "none",
        "random": false,
        "straight": false,
        "out_mode": "out",
        "attract": {
          "enable": false,
          "rotateX": 600,
          "rotateY": 1200
        }
      }
    },
    "interactivity": {
      "detect_on": "canvas",
      "events": {
        "onhover": {
          "enable": true,
          "mode": "repulse"
        },
        "onclick": {
          "enable": true,
          "mode": "push"
        },
        "resize": true
      },
      "modes": {
        "grab": {
          "distance": 400,
          "line_linked": {
            "opacity": 1
          }
        },
        "bubble": {
          "distance": 400,
          "size": 40,
          "duration": 2,
          "opacity": 8,
          "speed": 3
        },
        "repulse": {
          "distance": 200
        },
        "push": {
          "particles_nb": 4
        },
        "remove": {
          "particles_nb": 2
        }
      }
    },
    "retina_detect": true,
    "config_demo": {
      "hide_card": false,
      "background_color": "#b61924",
      "background_image": "",
      "background_position": "50% 50%",
      "background_repeat": "no-repeat",
      "background_size": "cover"
    }
  }
);

上記、保存した[set.js]を[particles.min.js]の後ろで読み込みます。

<script src="particles.js"></script>
<script src="set.js"></script>

これで準備は終了。
すべてのファイルをサーバーにアップロードすると[particles.js]が動きます。

particles.js : 実装サンプル

マウスの動きに反応してグルグルと形を変えていく様子が面白いですね。

なお、背景やドット、ポリゴンの形状や動作スピード等、各種オプションは[set.js]のコードを書き換えて設定していきます。
ぜひお試しください。

particles.js : http://vincentgarreau.com/particles.js/