three实现可操作三维星河粒子星体效果代码
代码语言:html
所属分类:粒子
代码描述:three实现可操作三维星河粒子星体效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body{ background-image: url('//repo.bfw.wiki/bfwrepo/image/63e740700414a.png'); } </style> </head> <body> <canvas class="webgl"> </canvas> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.133.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.133.js"></script> <script type="module"> const canvas = document.querySelector('canvas.webgl') // Scene const scene = new THREE.Scene() //galaxy const parameters = {} parameters.count = 100000; parameters.size = 0.01; parameters.radius = 2.15; parameters.branches = 3; parameters.spin = 3; parameters.randomness = 5; parameters.randomnessPower = 4; parameters.insideColor = '#031D43'; parameters.outsideColor = '#005585'; let material = null; let geometry = null; let points = null; const generateGalaxy = () => { if(points !== null){ geometry.dispose(); material.dispose(); scene.remove(points); } material = new THREE.PointsMaterial({ size: parameters.size, sizeAttenuation: true, depthWrite: false, blending: THREE.AdditiveBlending, vertexColors: true }) geometry = new THREE.BufferGeometry(); const positions = new Float32Array(parameters.count * 3); const colors = new Float32Array(parameters.count * 3); const colorInside = new THREE.Color(parameters.insideColor); const colorOutside = new THREE.Color(parameters.outsideColor); for(let i=0; i<parameters.count; i++){ const i3 = i*3; const radius = Math.pow(Math.random()*parameters.randomness, Math.random()*parameters.radius); const spinAngle = radius*parameters.spin; const branchAngle = ((i%parameters.branches)/parameters.branches)*Math.PI*2; const negPos = [1,-1]; const randomX = Math.pow(Math.random(), parameters.randomnessPower)*negPos[Math.floor(Math.random() * negPos.length)]; const randomY = Math.pow(Math.random(), parameters.randomnessPower)*negPos[Math.floor(Math.random() * negPos.length)]; con.........完整代码请登录后点击上方下载按钮下载查看
网友评论0