0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

particles.jsを使って幾何学模様のアニメーションをつける

Posted at

概要

背景が動くオシャレなアニメーションをつけたい!
ということでparticles.jsというライブラリを使って実装してみた。
particlesjs.gif
サンプルはこのような感じ。
幾何学模様の他にも、雪を降らせたり、図形を動かしたり、カスタマイズは豊富にできる。

公式サイト

実装

1, HTMLにidを振る
<div id="particles-js"></div>
2, particles.jsのライブラリを読み込む

  • jsフォルダーの中にparticles.js用のファイルを作りそのファイルに下記URLのコードを貼り付ける。
    https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js
  • ↑で作ったファイルを読み込む
    <script src="作ったファイルのパス"></script>
    3, jsフォルダーの中にapp.jsファイルを作る
    app.jsファイルに下記コードを貼り付ける
app.js
particlesJS.load('particles-js', 'assets/particles.json', function() {
  console.log('callback - particles.js config loaded');
});

4, jsonファイルを用意する
jsフォルダーの中にjsonファイルを作りそのjsonファイルに下記コードを貼り付ける

{
  "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": 10,
      "random": true,
      "anim": {
        "enable": false,
        "speed": 80,
        "size_min": 0.1,
        "sync": false
      }
    },
    "line_linked": {
      "enable": true,
      "distance": 300,
      "color": "#ffffff",
      "opacity": 0.4,
      "width": 2
    },
    "move": {
      "enable": true,
      "speed": 12,
      "direction": "none",
      "random": false,
      "straight": false,
      "out_mode": "out",
      "bounce": false,
      "attract": {
        "enable": false,
        "rotateX": 600,
        "rotateY": 1200
      }
    }
  },
  "interactivity": {
    "detect_on": "canvas",
    "events": {
      "onhover": {
        "enable": false,
        "mode": "repulse"
      },
      "onclick": {
        "enable": true,
        "mode": "push"
      },
      "resize": true
    },
    "modes": {
      "grab": {
        "distance": 800,
        "line_linked": {
          "opacity": 1
        }
      },
      "bubble": {
        "distance": 800,
        "size": 80,
        "duration": 2,
        "opacity": 0.8,
        "speed": 3
      },
      "repulse": {
        "distance": 400,
        "duration": 0.4
      },
      "push": {
        "particles_nb": 4
      },
      "remove": {
        "particles_nb": 2
      }
    }
  },
  "retina_detect": true
}

↑のjsonファイルの値を変更してカスタマイズ可能。
公式サイトにて様々なカスタマイズや、雪や図形アニメーションのテンプレートもあるので参考に。

注意点

jsはものによって、サーバー環境を用意してそこで実行しないと動かないことがしばしあるようです。
私もローカル環境では動かなかったのでサーバーを用意しました。

まとめ

アニメーションはゼロイチで作ると複雑で大変なので今回のparticles.jsのように偉大な先人が作ったライブラリを使うと簡単に実装できました。
カスタマイズも簡単で何より使っていて楽しかったです!
いずれは、ゼロイチでアニメーションが作れたらもっと楽しいんじゃないかとワクワクしたのでこれからも勉強に励みたいと思いますヘ(・_・ヘ)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?