three实现可交互炫酷三维圣诞树丝带小球动画效果代码
代码语言:html
所属分类:三维
代码描述:three实现可交互炫酷三维圣诞树丝带小球动画效果代码,点击click可发射小球。
代码标签: three 交互 炫酷 三维 圣诞树 丝带 小球 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> html, body { padding: 0; margin: 0; } .container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #040229; } .title { position: fixed; top: 75%; left: 50%; transform: translate(-50%, -50%); font-family: monospace; user-select: none; pointer-events: none; color: white; } </style> </head> <body translate="no"> <div class="container"> <canvas id="tree-canvas"></canvas> </div> <div class="title"> click me! </div> <script type="importmap"> { "imports": { "three": "//repo.bfw.wiki/bfwrepo/js/module/three/build/170/three.module.js", "three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/170/jsm/" } } </script> <script type="module"> import * as THREE from 'three'; const containerEl = document.querySelector(".container"); const canvasEl = document.querySelector("#tree-canvas"); const params = { stripesNumber: 15, stripeWidth: .03 }; const pointer = new THREE.Vector2(); let renderer, scene, camera, orbit, lightHolder, touchPlane, raycaster; let ballGeometry, stripeGeometry; const stripes = []; const balls = []; initScene(); render(); window.addEventListener("resize", updateSceneSize); window.addEventListener("click", e => { pointer.x = e.clientX / window.innerWidth * 2 - 1; pointer.y = -(e.clientY / window.innerHeight) * 2 + 1; raycaster.setFro.........完整代码请登录后点击上方下载按钮下载查看
网友评论0