three实现三维户外激光秀舞台场景代码
代码语言:html
所属分类:其他
代码由grok-4.6 ai生成,可能有错误,仅供参考:点击查看提示词
代码描述:户外三维带激光活动舞台
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>三维户外舞台 - 激光秀 & 随机天气</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { overflow: hidden; background: #000; font-family: 'Segoe UI', sans-serif; }
#info {
position: absolute; top: 20px; left: 20px; color: #fff;
background: rgba(0,0,0,0.65); padding: 12px 20px; border-radius: 8px;
font-size: 16px; z-index: 10; pointer-events: none;
text-shadow: 0 1px 3px #000; border: 1px solid rgba(255,255,255,0.15);
}
#info span { color: #7af; font-weight: bold; }
</style>
</head>
<body>
<div id="info">当前天气: <span id="weatherName">晴朗</span> | 鼠标拖动旋转视角,滚轮缩放</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/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;
let ambientLight, dirLight, hemiLight;
let ground, stageGroup, seatGroup, treeGroup;
let rainSystem, snowSystem;
let lasers = [];
let currentWeather = 'sunny';
const weatherNames = { sunny: '晴朗', rainy: '下雨', snowy: '下雪', cloudy: '多云' };
const clock = new THREE.Clock();
init();
animate();
function init() {
scene = new THREE.Scene();
scene.background = new THREE.Color(0x87CEEB);
scene.fog = new THREE.Fog(0x87CEEB, 80, 280);
camera = new THREE.PerspectiveCamera(55, innerWidth / innerHeight, 0.5, 500);
camera.position.set(0, 18, 62);
camera.lookAt(0, 6, -8);
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(innerWidth, innerHeight);
renderer.setPixelRatio(Math.min(devicePi.........完整代码请登录后点击上方下载按钮下载查看















网友评论0