由于代码超过65535字,无法整个提交,只发送创建光源函数
function createLights() {
// 环境光
const ambientLight = new THREE.AmbientLight(0x606060, 0.7);
scene.add(ambientLight);
// 方向光 - 主光源
const directionalLight = new THREE.DirectionalLight(0xffffff, 1);
directionalLight.position.set(30, 50, 30);
directionalLight.castShadow = true;
// 优化阴影质量
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
directionalLight.shadow.camera.near = 0.5;
directionalLight.shadow.camera.far = 150;
directionalLight.shadow.camera.left = -50;
directionalLight.shadow.camera.right = 50;
directionalLight.shadow.camera.top = 50;
directionalLight.shadow.camera.bottom = -50;
directionalLight.shadow.bias = -0.001; // 减少阴影痤疮
scene.add(directionalLight);
// 半球光
const hemisphereLight = new THREE.HemisphereLight(0x87CEEB, 0x8B4513, 0.4);
scene.add(hemisphereLight);
// 点光源 - 增加场景深度
const pointLight1 = new THREE.PointLight(0xff7b25, 0.5, 50);
pointLight1.position.set(20, 10, 15);
scene.add(pointLight1);
const pointLight2 = new THREE.PointLight(0x3498db, 0.5, 50);
pointLight2.position.set(-20, 10, -15);
scene.add(pointLight2);
}