threejs+dat.gui实现可调参数的逼真风雪模拟系统代码

代码语言:html

所属分类:粒子

代码描述:threejs+dat.gui实现可调参数的逼真风雪模拟系统代码,可设置重力、速度、密度、数量、风速、随机值等模拟现实中的风雪效果。

代码标签: three dat.gui 风雪 下雪 模拟

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

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">

  
  
  
<style>
* {
  margin: 0;
  padding: 0;
}

html,
body {
  overflow: hidden;
  background-color: black;
}

.webgl {
  position: fixed;
  top: 0;
  left: 0;
  outline: none;
}

.image {
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

img {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: auto;
}
</style>



</head>

<body>
  <div class="image">
  <img src="//repo.bfw.wiki/bfwrepo/image/5df0355083a46.png" />
</div>
<canvas class="webgl"></canvas>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.126.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.126.js"></script>
  <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script>
      <script>



/**
 * Base
 */

// Debug
const gui = new dat.GUI();
gui.width = 400;

// Canvas
const canvas = document.querySelector('canvas.webgl');

// Scene
const scene = new THREE.Scene();
scene.background = new THREE.Color(0x000000);


/**
 * Particles
 */

const parameters = {};
parameters.count = 2000;
parameters.randomness = 0.5;
parameters.randomnessPower = 3;
parameters.sizeMin = 1.0;
parameters.sizeMax = 4.0;
parameters.opacityMin = 0.1;
parameters.opacityMax = 0.4;
parameters.gravity = 25.0;

let geometry = null;
let mater.........完整代码请登录后点击上方下载按钮下载查看

网友评论0