three实现三维立体河流上斜拉桥(可切换夜景模式)代码
代码语言:html
所属分类:三维
代码描述:three实现三维立体河流上斜拉桥(可切换夜景模式)代码,桥上有汽车行驶,桥下河流有轮船。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <title>Three.js 斜拉索大桥 | 昼夜切换</title> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> <style> html, body { margin: 0; padding: 0; overflow: hidden; background: #000; height: 100%; } #app { position: fixed; inset: 0; } #ui { position: fixed; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 8px; z-index: 10; user-select: none; font-family: system-ui, -apple-system, Segoe UI, Roboto, "PingFang SC", "Microsoft YaHei", Arial, sans-serif; color: #fff; } .panel { background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; padding: 10px 12px; backdrop-filter: blur(6px); } #toggleBtn { appearance: none; border: none; padding: 10px 14px; border-radius: 8px; background: linear-gradient(135deg, #1b7fff, #0acffe); color: white; font-weight: 700; letter-spacing: 0.5px; cursor: pointer; box-shadow: 0 6px 18px rgba(11, 156, 255, 0.4); } #toggleBtn:active { transform: translateY(1px); } .hint { font-size: 12px; color: #cfd9ff; opacity: 0.9; } .badge { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,0.15); margin-left: 8px; } #credits { position: fixed; right: 12px; bottom: 10px; font-size: 12px; color: #9fb3ff; background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; padding: 6px 10px; z-index: 10; backdrop-filter: blur(4px); } </style> </head> <body> <div id="app"></div> <div id="ui"> <div class="panel"> <div> 模式:<span id="modeLabel">白天</span> <span class="badge">N 键</span> </div> <button id="toggleBtn">切换到 夜晚 🌙</button> <div class="hint">提示:拖拽旋转,滚轮缩放,右键平移</div> </div> </div> <div id="credits">Three.js 斜拉桥 · 可切换昼夜 · 汽车/轮船动态</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 'https://unpkg.com/three@0.161.0/examples/jsm/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'; // Renderer const container = document.getElementById('app'); const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); renderer.outputColorSpace = THREE.SRGBColorSpace; renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.toneMappingExposure = 1.0; container.appendChild(renderer.domElement); // Scene and Camera const scene = new THREE.Scene(); scene.background = ne.........完整代码请登录后点击上方下载按钮下载查看
网友评论0