Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
/ vanta Public
forked from tengbao/vanta

Plug & play animated 3D backgrounds for your website

License

Notifications You must be signed in to change notification settings

Digiox/vanta

Open more actions menu
 
 

Repository files navigation

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

About

Plug & play animated 3D backgrounds for your website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 76.3%
  • CSS 17.9%
  • HTML 5.8%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.