当前位置: 首页> 财经> 金融 > 常州代办营业执照的正规公司_网络公司市值最新排名_seo优化报告_手机优化器

常州代办营业执照的正规公司_网络公司市值最新排名_seo优化报告_手机优化器

时间:2025/7/14 12:00:15来源:https://blog.csdn.net/bingbingyihao/article/details/144370866 浏览次数:0次
常州代办营业执照的正规公司_网络公司市值最新排名_seo优化报告_手机优化器

3D地球小demo

    • 文章说明
    • 核心代码
    • 效果展示
    • 源码下载

文章说明

简单了解three.js,书写一个3D地球的效果,目前的效果很粗糙,等待后续继续完善

核心代码

需要先安装依赖

npm install three

App.vue

<script setup>
import {onMounted, onUnmounted, ref} from 'vue';
import * as THREE from 'three';
import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls';const earthContainer = ref();onMounted(() => {init();animate();
});onUnmounted(() => {dispose();
});let scene, camera, renderer, controls;function init() {// 场景scene = new THREE.Scene();// 相机const width = earthContainer.value.clientWidth;const height = earthContainer.value.clientHeight;camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);camera.position.z = 2;// 渲染器renderer = new THREE.WebGLRenderer({ antialias: true });renderer.setSize(width, height);renderer.setPixelRatio(window.devicePixelRatio); // 高清显示earthContainer.value.appendChild(renderer.domElement);// 加载纹理const textureLoader = new THREE.TextureLoader();const earthTexture = textureLoader.load('earth.jpg');// 设置星空背景// 替换为你的星空图片路径scene.background = textureLoader.load('stars.jpg'); // 将星空纹理设置为场景的背景// 地球材质和几何体const geometry = new THREE.SphereGeometry(0.5, 32, 32);const material = new THREE.MeshBasicMaterial({ map: earthTexture });const earth = new THREE.Mesh(geometry, material);scene.add(earth);// 控制controls = new OrbitControls(camera, renderer.domElement);// 灯光const ambientLight = new THREE.AmbientLight(0xffffff, 0.5); // soft white lightscene.add(ambientLight);
}function animate() {requestAnimationFrame(animate);controls.update(); // only required if controls.enableDamping = true, or if controls.autoRotate = truerenderer.render(scene, camera);
}function dispose() {controls.dispose();renderer.dispose();renderer.forceContextLoss();renderer.domElement.remove();
}
</script><template><div ref="earthContainer" class="earth-container"></div>
</template><style>
* {margin: 0;padding: 0;box-sizing: border-box;
}.earth-container {width: 100vw;height: 100vh;position: relative; /* 确保容器能够正确包含渲染器 */
}
</style>

效果展示

默认效果在这里插入图片描述

放大
在这里插入图片描述

旋转
在这里插入图片描述

源码下载

3D地球demo

关键字:常州代办营业执照的正规公司_网络公司市值最新排名_seo优化报告_手机优化器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: