Можно ли создать эту анимацию, используя частицы. js - PullRequest
0 голосов
/ 19 февраля 2020

Я пытался создать анимацию, похожую на это , но все, что я смог достичь до сих пор, используя частицы. js это это .

По сути, я не смог сделать фигуры похожими на сферы, а сам элемент взаимодействия очень отсутствует. Поэтому мне просто интересно, могу ли я на самом деле использовать частицы. js для этого или есть гораздо лучший или более простой вариант.

JavaScript:

 particlesJS("particles-js", {
  particles: {
    number: {
      value: 147,
      density: { enable: true, value_area: 946.9771699587272 }
    },
    color: { value: "#017185" },
    shape: {
      type: "circle",
      stroke: { width: 0, color: "#000000" },
      polygon: { nb_sides: 3 },
      image: { src: "img/github.svg", width: 100, height: 100 }
    },
    opacity: {
      value: 1,
      random: false,
      anim: { enable: false, speed: 1, opacity_min: 0.1, sync: false }
    },
    size: {
      value: 15,
      random: false,
      anim: { enable: false, speed: 40, size_min: 0.1, sync: false }
    },
    line_linked: {
      enable: false,
      distance: 150,
      color: "#ffffff",
      opacity: 0.4,
      width: 1
    },
    move: {
      enable: true,
      speed: 6,
      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: 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, duration: 0.4 },
      push: { particles_nb: 4 },
      remove: { particles_nb: 2 }
    }
  },
  retina_detect: true
});
var count_particles, stats, update;
stats = new Stats();
stats.setMode(0);
stats.domElement.style.position = "absolute";
stats.domElement.style.left = "0px";
stats.domElement.style.top = "0px";
document.body.appendChild(stats.domElement);
count_particles = document.querySelector(".js-count-particles");
update = function() {
  stats.begin();
  stats.end();
  if (window.pJSDom[0].pJS.particles && window.pJSDom[0].pJS.particles.array) {
    count_particles.innerText = window.pJSDom[0].pJS.particles.array.length;
  }
  requestAnimationFrame(update);
};
requestAnimationFrame(update);

1 Ответ

0 голосов
/ 20 февраля 2020

Насколько я знаю, это невозможно с Particle. js Проверьте Три js и его удивительные возможности. Вы можете обнаружить событие мыши на частицах, таких как приведенные ниже примеры:
Волны
Точки
Удачи

...