三维闪电风暴云动画效果
代码语言:html
所属分类:三维
代码描述:三维闪电风暴云动画效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> canvas { width: 100%; height: 100vh; display: block; } a { position: fixed; left: 0; top: 0; color: #eee; padding: 5vmin; } </style> </head> <body translate="no"> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/gsap.3.3.1.js"></script> <script type="module"> import * as $ from '//unpkg.com/three@0.117.1/build/three.module.js' import { OrbitControls } from '//unpkg.com/three@0.117.1/examples/jsm/controls/OrbitControls.js' import { EffectComposer } from '//unpkg.com/three@0.117.1/examples/jsm/postprocessing/EffectComposer' import { RenderPass } from '//unpkg.com/three@0.117.1/examples/jsm/postprocessing/RenderPass' import { UnrealBloomPass } from '//unpkg.com/three@0.117.1/examples/jsm/postprocessing/UnrealBloomPass' // ---- // Boot // ---- const renderer = new $.WebGLRenderer({ antialias: false }); const scene = new $.Scene(); const camera = new $.PerspectiveCamera(75, 2, .1, 100); const controls = new OrbitControls(camera, renderer.domElement); const composer = new EffectComposer(renderer); const size = new $.Vector2(); window.addEventListener('resize', () => { const { clientWidth, clientHeight } = renderer.domElement; renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(clientWidth, clientHeight, false); renderer.getDrawingBufferSize(size); camera.aspect = clientWidth / clientHeight; camera.updateProjectionMatrix(); composer.setPixelRatio(window.devicePixelRatio); composer.setSize(clientWidth, clientHeight); }); document.body.prepend(renderer.domElement); window.dispatchEvent(new Event('resize')); renderer.setAnimationLoop(function (t) { composer.render(); controls.update(); }); // ---- // Main // ---- controls.autoRotate = true; camer.........完整代码请登录后点击上方下载按钮下载查看
网友评论0