three实现三维户外激光秀舞台场景代码

代码语言:html

所属分类:其他

代码由claude-5 ai生成,可能有错误,仅供参考:点击查看提示词

代码描述:户外三维带激光活动舞台

代码标签: three 三维 户外 激光秀 舞台 场景代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>逼真3D户外舞台 - 激光秀 & 动态天气</title>
<style>
  html,body{margin:0;padding:0;overflow:hidden;background:#000;font-family:"Microsoft YaHei",sans-serif;}
  canvas{display:block;}
  #ui{position:fixed;top:10px;left:10px;color:#fff;background:rgba(0,0,0,0.45);
      padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.7;z-index:10;
      user-select:none;backdrop-filter:blur(4px);}
  #ui b{color:#ffd54a;}
  #ui button{margin-top:8px;padding:7px 14px;border:none;border-radius:5px;
      background:#ffd54a;color:#222;font-weight:bold;cursor:pointer;}
  #ui button:hover{background:#ffe083;}
  #tip{position:fixed;bottom:10px;left:10px;color:#ccc;font-size:12px;z-index:10;
       background:rgba(0,0,0,0.35);padding:6px 10px;border-radius:6px;}
  #flash{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;
         opacity:0;pointer-events:none;z-index:20;}
  #loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
           color:#fff;font-size:20px;z-index:30;}
</style>
</head>
<body>
<div id="ui">
  <div>🎪 <b>户外演唱会舞台</b></div>
  <div>天气:<b id="weatherLabel">-</b></div>
  <div>时间:<b id="timeLabel">-</b></div>
  <div>下次天气变化:<b id="countdownLabel">-</b> 秒</div>
  <button id="changeWeatherBtn">🎲 立即切换天气</button>
</div>
<div id="tip">鼠标左键拖拽旋转 · 滚轮缩放 · 右键平移</div>
<div id="flash"></div>
<div id="loading">场景加载中...</div>

<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/build/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/OrbitControls.js"></script>
<script>
/* ========================= 全局变量 ========================= */
let scene, camera, renderer, controls, clock;
let sunLight, hemiLight, sunMesh, moonMesh, skyMesh, skyUniforms;
let lasers = [], movingHeads = [], clouds = [];
let rainPoints, rainVel, snowPoints, snowVel, stars;
let groundFogMesh, lightningLight;
let screenCanvas, screenCtx, screenTexture;

let dayTime = 0.30;              // 0~1 代表一天
const dayLength = 240;           // 一个昼夜循环秒数

const weatherTypes = ['clear','cloudy','rain','storm','snow','fog'];
let currentWeather = 'clear';
let weatherTimer = 15;
let .........完整代码请登录后点击上方下载按钮下载查看

网友评论0