Three.js 创建 3D 地球
在Three.js中创建一个3D地球,你需要使用THREE.SphereGeometry
来创建一个球体,并使用THREE.MeshPhongMaterial
或其他合适的材质来为它上色。然后,你可以使用THREE.TextureLoader
来加载地球的纹理。以下是一个简单的例子:
// 初始化Three.js场景
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 创建球体
const sphereGeometry = new THREE.SphereGeometry(5, 64, 32);
// 加载纹理
const textureLoader = new THREE.TextureLoader();
const earthTexture = textureLoader.load('path/to/earth-texture.jpg');
// 设置材质
const material = new THREE.MeshPhongMaterial({
map: earthTexture
});
// 创建网格
const earthMesh = new THREE.Mesh(sphereGeometry, material);
// 将网格添加到场景
scene.add(earthMesh);
// 设置相机位置并指向场景
camera.position.z = 10;
// 渲染循环
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
确保替换'path/to/earth-texture.jpg'
为实际的地球纹理图片路径。这段代码将创建一个3D球体,用作地球,并且每帧都会渲染场景。
评论已关闭