three实现类似soul的3d星球旋转动画代码
代码语言:html
所属分类:三维
代码描述:three实现类似soul的3d星球旋转动画代码
代码标签: three 类似 sou 3d 星球 旋转 动画 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <title>Soul-like 3D Planet (Three.js)</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/> <style> html,body{height:100%;margin:0;background:radial-gradient(1000px 800px at 70% 20%, #1b1f3a 0%, #0b0f1e 60%, #060912 100%);overflow:hidden;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto;} #app{position:fixed;inset:0} .hud{ position:fixed;left:50%;top:36px;transform:translateX(-50%); color:#c9d4ff;letter-spacing:.4px;user-select:none;text-align:center; padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04);backdrop-filter: blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.25); } .hud h1{margin:0;font-size:16px;font-weight:700;opacity:.95} .hud p{margin:6px 0 0;font-size:12px;opacity:.7} .footer{ position:fixed;right:16px;bottom:16px;color:#9fb0ff;font-size:12px;opacity:.7; background:rgba(255,255,255,.04);padding:6px 10px;border-radius:12px;backdrop-filter: blur(6px); } .tip{position:fixed;left:16px;bottom:16px;color:#a9b7ff;font-size:12px;opacity:.75} canvas{display:block} </style> </head> <body> <div id="app"></div> <div class="hud"> <h1>3D Planet — Soul style</h1> <p>拖拽旋转 · 滚轮缩放 · 自动巡航</p> </div> <div class="tip">节点数与连线等参数可在代码顶部调节</div> <div class="footer">Three.js demo</div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.160.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/OrbitControls.146.js"></script> <script type="module"> // ======= 可调参数 ======= const PARAMS = { planetRadius: 4.2, // 星球半径 autoRotateSpeed: 0.02, // 自动旋转速度 nodeCount: 140, // 环绕节点数量 nodeRingRadius: 7.5, // 节点环半径 nodeJitter: 0.45, // 节点随机抖动 linkCount: 24, // 同时存在的动态连线数量 linkLifetime: 6.5, // 每条连线寿命(秒) glowStrength: 1.1, // 大气辉光强度(越大越亮) starCount: 3000, // 背景星空数量 pulseSpeed: 1.0 // 星球表面律动速度 }; // ======= 场景基础 ======= const container = document.getElementById('app'); const scene = new THREE.Scene(); const renderer = new THREE.WebGLRenderer({ antialias:true, alpha:true }); renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); renderer.setSize(window.innerWidth, window.innerHeight); renderer.outputColorSpace = THREE.SRGBColorSpace; container.appendChild(renderer.domElement); const camera = new THREE.PerspectiveCamera(45, window.........完整代码请登录后点击上方下载按钮下载查看
网友评论0