Coder Social home page Coder Social logo

andersonanalytics / vanta Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tengbao/vanta

0.0 1.0 0.0 3.75 MB

Plug & play animated 3D backgrounds for your website

Home Page: http://vantajs.com/

License: MIT License

HTML 5.79% JavaScript 76.34% CSS 17.87%

vanta's Introduction

Vanta JS

alt text

Add 3D animated digital art to any webpage with just a few lines of code.

What is Vanta? / FAQs

  • Think of it as wrapper around a digital artwork that allows it to be inserted into an HTML element as a background.
  • Effects can interact with mouse/touch inputs.
  • Effect parameters (e.g. color) can be easily modified to match your brand.
  • Effects are powered by three.js (using WebGL) or p5.js.
  • Total additional filesize is ~120kb minified and gzipped (mostly three.js), which is smaller than comparable background images/videos.
  • Vanta includes many pre-defined effects to try out. More effects will be added soon!

Basic usage:

<script src="three.min.js"></script>
<script src="vanta.waves.min.js"></script>
<script>
  VANTA.WAVES('#my-background')
</script>

View fiddle →

More options:

VANTA.WAVES({
  el: '#my-background', // element id or DOM object reference
  color: 0x000000,
  waveHeight: 20,
  shininess: 50,
  waveSpeed: 1.5,
  zoom: 0.75
})

Each effect has different parameters. Explore them all!

Cleanup:

var effect = VANTA.WAVES('#my-background')
effect.destroy() // e.g. call this in React's componentWillUnmount

Usage In React:

You can import vanta.xxxxx.min.js as follows. (Make sure three.js or p5.js is also included.)

  import * as THREE from './three.min.js'
  import BIRDS from './vanta.birds.min.js'

  class MyComponent extends React.Component {
    constructor() {
      super()
      this.myRef = React.createRef()
    }
    componentDidMount() {
      this.effect = BIRDS({
        el: this.myRef.current
      })
    }
    componentWillUnmount() {
      if (this.effect) this.effect.destroy()
    }
    render() {
      return <div ref={this.myRef}>
        Foreground content goes here
      </div>
    }
  }

Local Dev:

Clone the repo, run npm install and npm run dev, and go to localhost:8080.

Credits

vanta's People

Contributors

dependabot[bot] avatar tengbao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.