three打造3D幕布垂帘撩动交互效果

代码语言:html

所属分类:三维

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Montserrat'>
<style>
body {
  margin: 0;
  height: 100%;
  font-family: 'Montserrat', sans-serif;
  background-image: radial-gradient(circle, #ffffff, #aaaaaa);
}
canvas {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 1;
}
h1 {
  font-size: 50px;
  text-align: center;
  width: 60%;
  margin: 0 auto;
  padding-top: 10%;
}
p {
  font-size: 30px;
  text-align: center;
  width: 50%;
  margin: 1em auto 0;
}
</style>

</head>
<body translate="no">
<canvas id="canvas"></canvas>
<h1>What's behind the curtain ?</h1>
<p>This funny interactive curtain is made with ThreeJS, polylines and verlet constraints (adapted from verlet-js).</p>

<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/three.109.js"></script>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/chroma.min.js"></script>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/verlet-1.0.0.min.js"></script>
<script >
function App() {
  const conf = {
    el: 'canvas',
    gravity: -0.3,
    nx: 60,
    ny: 40,
    size: 1.5,
    mouseRadius: 10,
    mouseStrength: 0.4 };


  let renderer, scene, camera;
  let width, height;
  const { randFloat: rnd, randFloatSpread: rndFS } = THREE.Math;

  const mouse = new THREE.Vector2(),oldMouse = new THREE.Vector2();
  const verlet = new VerletJS(),polylines = [.........完整代码请登录后点击上方下载按钮下载查看

网友评论0