three实现三维炫酷科技感振动波金字塔发光动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现三维炫酷科技感振动波金字塔发光动画效果代码,点击按钮可触发不同的振动动画特效。
代码标签: three 三维 炫酷 科技感 振动波 金字塔 发光 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <style> body { margin: 0; overflow: hidden; background-color: #000; font-family: 'Inter',sans-serif } canvas { width: 100%; height: 100vh; display: block; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%) } #ui-container { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 10; text-align: center } #effect-trigger { padding: 12px 24px; font-size: 16px; font-weight: 600; color: #fff; background: rgba(255,255,255,0.1); border: 2px solid rgba(255,255,255,0.3); border-radius: 12px; cursor: pointer; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .3s,color .3s,transform .2s } #effect-trigger:hover { background: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.5) } #effect-trigger:active { transform: scale(0.95) } #effect-info { margin-top: 10px; color: rgba(255,255,255,0.8); font-size: 14px } </style> <div id="ui-container"> <button id="effect-trigger">Trigger Effect</button> <div id="effect-info">Lightning Storm</div> </div> <script type="importmap"> { "imports":{ "three":"//repo.bfw.wiki/bfwrepo/js/module/three/build/164/three.module.js", "three/addons/":"//repo.bfw.wiki/bfwrepo/js/module/three/examples/164/jsm/" } } </script> <script type="module"> import*as THREE from 'three'; import {OrbitControls} from 'three/addons/controls/OrbitControls.js'; import {EffectComposer} from 'three/addons/postprocessing/EffectComposer.js'; import {RenderPass} from 'three/addons/postprocessing/RenderPass.js'; import {UnrealBloomPass} from 'three/addons/postprocessing/UnrealBloomPass.js'; const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setClearColor(0x000000); document.body.appendChild(renderer.domElement); const controls = new OrbitControls(camera,renderer.domElement); controls.enableDamping = true; controls.dampingFactor = .05; camera.position.set(0, 2, 6); controls.target.set(0, 1, 0); controls.update(); const composer = new EffectComposer(renderer); const renderPass = new RenderPass(scene,camera); composer.addPass(renderPass); const bloomPass = new UnrealBloomPass(new THREE.Vector2(window.innerWidth,window.innerHeight),1.5,0.4,0.85); bloomPass.threshold = .1; bloomPass.strength = 2.5; bloomPass.radius = .8; composer.addPass(bloomPass); let effectState = 0; const clock = new THREE.Clock(); let time = 0; const effectThemes = [{ name: "Lightning Storm", effect: "lightning", outer: [new THREE.Color(0x00ffff), new THREE.Color(0x4169e1), new THREE.Color(0x9400d3)], outerEdge: new THREE.Color(0x87cefa), inner: [new THREE.Color(0xff1493), new THREE.Color(0xff4500), new THREE.Color(0xffd700)], innerEdge: new THREE.Color(0xffd700) }, { name: "Volcanic Shards", effect: "shards", outer: [new THREE.Color(0xffd700), new THREE.Color(0xff4500), new THREE.Color(0x8b0000)], outerEdge: new THREE.Color(0xff8c00), inner: [new THREE.Color(0xffff00), new THREE.Color(0xff6347), new THREE.Color(0xdc143c)], innerEdge: new THREE.Color(0xffa500), shardColors: [new THREE.Color(0xff8c00), new THREE.Color(0xffa500), new THREE.Color(0xffff00)] }, { name: "Arctic Rings", effect: "rings", outer: [new THREE.Color(0x00ffff), new THREE.Color(0x87ceeb), new THREE.Color(0xb0e0e6)], oute.........完整代码请登录后点击上方下载按钮下载查看
网友评论0