three实现三维彩色粒子喷射动画效果代码
代码语言:html
所属分类:粒子
代码描述:three实现三维彩色粒子喷射动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { background: #000; -ms-scroll-chaining: none; overscroll-behavior: none; } #loading { background: #000; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; display: flex; justify-content: center; align-items: center; visibility: visible; opacity: 1; transition: visibility 1.6s, opacity 1.6s; } #loading .circle { width: 50px; height: 50px; background: #fff; border-radius: 50%; opacity: 0; transform: scale(0, 0); -webkit-animation: circle-animation 1.6s ease-in-out 0s infinite normal none; animation: circle-animation 1.6s ease-in-out 0s infinite normal none; } #loading.loaded { visibility: hidden; opacity: 0; } #container { width: 100vw; height: 100vh; } #container canvas { position: fixed; top: 0; left: 0; z-index: 0; outline: none; } /** css animation */ @-webkit-keyframes circle-animation { 0% { opacity: 0; transform: scale(0, 0); } 50% { opacity: 1; transform: scale(1, 1); } } @keyframes circle-animation { 0% { opacity: 0; transform: scale(0, 0); } 50% { opacity: 1; transform: scale(1, 1); } } </style> </head> <body > <div id="loading"> <div class="circle"></div> </div> <div id="container"></div> <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/Stats-16.js"></script> <script> //const simplex = new SimplexNoise(); /** * Referenced | https://al-ro.github.io/ * Thank you so much :) */ /* const computeCurl = (x, y, z) => { const eps = 0.0001; const curl = new THREE.Vector3(); //Find rate of change in YZ plane let n1 = simplex.noise3D(x, y + eps, z); let n2 = simplex.noise3D(x, y - eps, z); //Average to find approximate derivative let a = (n1 - n2)/(2 * eps); n1 = simplex.noise3D(x, y, z + eps); n2 = simplex.noise3D(x, y, z - eps); //Average to find approximate derivative let b = (n1 - n2)/(2 * eps); curl.x = a - b; //Find rate of change in XZ plane n1 = simplex.noise3D(x, y, z + eps); n2 = simplex.noise3D(x, y, z - eps); a = (n1 - n2)/(2 * eps); n1 = simplex.noise3D(x + eps, y, z); n2 = simplex.noise3D(x + eps, y, z); b = (n1 - n2)/(2 * eps); curl.y = a - b; //Find rate of change in XY plane n1 = simplex.noise3D(x + eps, y, z); n2 = simplex.noise3D(x - eps, y, z); a = (n1 - n2)/(2 * eps); n1 = simplex.noise3D(x, y + eps, z); n2 = simplex.noise3D(x, y - eps, z); b = (n1 - n2)/(2 * eps); curl.z = a - b; return curl; } */ /** vertex shader source */ const vert.........完整代码请登录后点击上方下载按钮下载查看
网友评论0