import * as THREE from 'three'; import { Water } from 'three/examples/jsm/objects/Water.js'; const waterGeometry = new THREE.PlaneGeometry(50, 50); const ocean = new Water( waterGeometry, { textureWidth: 512, textureHeight: 512, waterNormals: new THREE.TextureLoader().load(`https://z2586300277.github.io/3d-file-server/images/texture/waternormals.jpg`, function (texture) { texture.wrapS = texture.wrapT = THREE.RepeatWrapping; }), sunDirection: new THREE.Vector3(0, 1, 0), // 设置太阳方向为垂直向下 sunColor: 0xffffff, waterColor: 'rgb(0,211,255)', distortionScale: 1.7, fog: false, // 关闭雾效果 alpha: 1.0, // 设置透明度 } ); ocean.rotation.x = -Math.PI / 2; function animate() { ocean.material.uniforms['time'].value += 1.0 / 60.0; requestAnimationFrame(animate); } animate(); export { ocean };