three实现三维两层小餐馆场景代码
代码语言:html
所属分类:三维
代码描述:three实现三维两层小餐馆场景代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3D Restaurant Building - Three.js</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { overflow: hidden; background: #ccd5de; font-family: Arial, sans-serif; }
canvas { display: block; }
#controls {
position: absolute;
top: 15px;
left: 15px;
background: rgba(0,0,0,0.7);
color: white;
padding: 12px 16px;
border-radius: 10px;
font-size: 13px;
line-height: 1.8;
}
#title {
position: absolute;
top: 15px;
right: 15px;
background: rgba(0,0,0,0.7);
color: white;
padding: 10px 18px;
border-radius: 10px;
font-size: 15px;
font-weight: bold;
}
</style>
</head>
<body>
<div id="controls">
🖱️ Left Drag: Rotate<br>
🖱️ Right Drag: Pan<br>
🖱️ Scroll: Zoom
</div>
<div id="title">🏗️ Restaurant & Terrace</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>
// Scene setup
const scene = new THREE.Scene();
scene.background = new THREE.Color(0xccd5de);
const camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 500);
camera.position.set(35, 25, 35);
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap;
renderer.toneMapping = THREE.ACESFilmicToneMapping;
renderer.toneMappingExposure = 1.1;
renderer.setPixelRatio(window.devicePixelRatio);
document.body.appendChild(renderer.domElement);
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.08;
controls.target.set(0, 4, 0);
controls.minDistance = 10;
controls.maxDistance = 80;
controls.maxPolarAngle = Math.PI / 2.05;
// Lighting
const ambientLight = new THREE.AmbientLight(0x8899aa, 0.6);
scene.add(ambientLight);
const sunLight = new THREE.DirectionalLight(0xfff5e6, 1.0);
sunLight.position.set(30, 40, 20);
sunLight.castShadow = true;
sunLight.shadow.mapSize.width = 4096;
sunLight.shadow.mapSize.height = 4096;
sunLight.shadow.camera.near = 0.5;
sunLight.shadow.camera.far = 100;
sunLight.shadow.camera.left = -40;
sunLight.shadow.camera.right = 40;
sunLight.sha.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0