服装厂家东莞网站建设网站更新维护怎么做

张小明 2026/1/3 5:58:11
服装厂家东莞网站建设,网站更新维护怎么做,珠海图远建设公司网站,提供提供手机网站建设#x1f30d; 前言#xff1a;前端的尽头是图形学#xff1f; 你是否厌倦了每天写 div、span 和 CRUD#xff1f; 在 2025 年#xff0c;普通的 React/Vue 开发者已成红海#xff0c;但掌握 3D 可视化的前端工程师依然稀缺#xff0c;薪资通常高出 30%~… 前言前端的尽头是图形学你是否厌倦了每天写div、span和 CRUD在 2025 年普通的 React/Vue 开发者已成红海但掌握 3D 可视化的前端工程师依然稀缺薪资通常高出 30%~50%。今天我们不讲复杂的数学公式直接动手。用Three.js配合几张贴图在浏览器里复刻一个**“流浪地球”风格的科幻地球仪**。它包含真实地形凹凸、海洋高光、大气层光晕、以及星空背景。先看原理再撸代码。 核心原理地球不是一个“球”在 3D 渲染中想要逼真不能只放一张照片。我们需要把地球拆解成**“图层”**。这就像 PS 的图层叠加我们需要由内而外构建 4 层结构graph TD Core[核心球体 Geometry] -- Material[材质 Material] subgraph 纹理贴图层 Material -- 1. 基础颜色 -- Map[Diffuse Map: 决定陆地海洋颜色] Material -- 2. 地形凹凸 -- BumpMap[Bump Map: 决定山脉高度] Material -- 3. 海洋反光 -- SpecularMap[Specular Map: 让海洋反光 陆地不反光] end subgraph 大气层特效 Core -- 叠加 -- Cloud[云层: 独立的透明球体] Cloud -- 叠加 -- Glow[光晕: Shader 或 精灵图] end style Map fill:#e1f5fe,stroke:#01579b style Glow fill:#fff9c4,stroke:#fbc02d️ 实战代码100 行的奇迹为了方便大家直接运行我使用了 CDN 引入 Three.js你可以直接创建一个index.html并在浏览器打开。准备工作我们需要 3 张核心贴图文末有获取方式earth.jpg(地球卫星图)bump.jpg(灰度图越白的地方越高)specular.jpg(黑白图海洋是白色的陆地是黑色的)完整源码!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8titleThree.js Wandering Earth/titlestylebody{margin:0;overflow:hidden;background-color:#000;}/stylescriptsrchttps://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js/script/headbodydividcanvas-container/divscript// 1. 初始化场景、相机、渲染器constscenenewTHREE.Scene();// 雾化效果模拟宇宙深处的幽暗scene.fognewTHREE.FogExp2(0x000000,0.0008);constcameranewTHREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,0.1,1000);camera.position.z15;// 相机距离constrenderernewTHREE.WebGLRenderer({antialias:true});// 抗锯齿renderer.setSize(window.innerWidth,window.innerHeight);document.body.appendChild(renderer.domElement);// 2. 创建地球材质 (核心!)consttextureLoadernewTHREE.TextureLoader();constearthGeometrynewTHREE.SphereGeometry(5,64,64);// 半径5高精度网格constearthMaterialnewTHREE.MeshPhongMaterial({map:textureLoader.load(https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/planets/earth_atmos_2048.jpg),// 基础图bumpMap:textureLoader.load(https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/planets/earth_normal_2048.jpg),// 凹凸图bumpScale:0.15,// 凹凸程度specularMap:textureLoader.load(https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/planets/earth_specular_2048.jpg),// 高光图specular:newTHREE.Color(grey),// 高光颜色shininess:10// 光泽度});constearthnewTHREE.Mesh(earthGeometry,earthMaterial);scene.add(earth);// 3. 创建大气层光晕 (简单的 Shader 模拟)constatmosphereGeonewTHREE.SphereGeometry(5.3,64,64);constatmosphereMatnewTHREE.MeshPhongMaterial({color:0x00aaff,// 科幻蓝transparent:true,opacity:0.2,side:THREE.BackSide,// 渲染背面制造边缘发光感blending:THREE.AdditiveBlending// 叠加混合模式});constatmospherenewTHREE.Mesh(atmosphereGeo,atmosphereMat);scene.add(atmosphere);// 4. 打光 (科幻感的关键)constambientLightnewTHREE.AmbientLight(0x333333);// 环境微光scene.add(ambientLight);constsunLightnewTHREE.DirectionalLight(0xffffff,1);// 模拟太阳光sunLight.position.set(5,3,5);scene.add(sunLight);// 5. 满天星斗 (粒子系统)conststarGeonewTHREE.BufferGeometry();conststarCount2000;constposArraynewFloat32Array(starCount*3);for(leti0;istarCount*3;i){posArray[i](Math.random()-0.5)*100;// 随机分布}starGeo.setAttribute(position,newTHREE.BufferAttribute(posArray,3));conststarMatnewTHREE.PointsMaterial({color:0xffffff,size:0.05});conststarMeshnewTHREE.Points(starGeo,starMat);scene.add(starMesh);// 6. 动画循环functionanimate(){requestAnimationFrame(animate);// 地球自转earth.rotation.y0.002;atmosphere.rotation.y0.002;// 星空缓慢旋转starMesh.rotation.y-0.0005;renderer.render(scene,camera);}animate();// 窗口自适应window.addEventListener(resize,(){camera.aspectwindow.innerWidth/window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth,window.innerHeight);});/script/body/html运行图如下 代码解析为什么这么写才“炫”MeshPhongMaterial这是 Three.js 中用于模拟有光泽表面的材质。如果不加specularMap高光贴图整个地球会像一个塑料球一样反光。加了之后你会发现只有海洋在反光陆地是哑光的真实感瞬间提升 10 倍。AdditiveBlending (叠加混合)在做大气层atmosphere时我们用了一个比地球稍大的球体并开启了AdditiveBlending。这意味着它的颜色会和背景叠加变亮从而模拟出发光、通透的空气感这是科幻风格的精髓。粒子星空不要用一张星空图片做背景那样太死板。用THREE.Points生成 2000 个随机点让它们缓慢反向旋转整个场景就**“活”**过来了。 进阶如何做得更像电影级上面的代码只是基础版。如果你想达到大屏可视化交付的标准还需要加入后期处理 (Post-Processing)使用UnrealBloomPass辉光通道让地球边缘的蓝色光晕产生“溢出”的效果就像电影镜头拍摄的那样。着色器 (Shaders)用 GLSL 手写 Shader实现大气散射 (Rayleigh Scattering)这样日出日落的边缘会有真实的橙红色渐变。交互控制引入OrbitControls允许用户缩放、旋转查看细节。 总结Web 3D 技术并没有想象中那么难它更多的是对**“图层、光影、材质”**的理解。当你能用 100 行代码手搓出一个地球时你在面试官眼里的等级已经从“切图仔”升级到了“图形工程师”。不要停留在 2D 的舒适区升维打击才是王道。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

php 手机网站cms济南突然宣布

数据洞察流行趋势,敏锐把握流量风口。本期千瓜与您分享近期小红书八大热点内容,带您看热点、追热门、借热势,为您提供小红书营销布局风向标。 躲进动物城 成年人的「精神避难所」 时隔九年,“狐兔cp”终于回归了! 11月…

张小明 2025/12/29 4:32:48 网站建设

酷站网官网做手机网站用什么

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/28 22:02:11 网站建设

个人网站制作工具箱安卓版企业网站的可信度建设包括

文章目录 从零认识URDF:机器人模型描述的“说明书” 一、URDF到底是什么?能做什么? 1. 核心定位:机器人的“数字孪生说明书” 2. URDF的四大核心功能 二、URDF的基本结构:XML格式的“零件清单” 1. 根节点:`<robot>` 2. 核心组件一:`<link>`——机器人的“零…

张小明 2026/1/1 23:11:01 网站建设

黑网站代码制作wordpress页面 文章

一个项目的所有文件都放在一个根文件夹里&#xff0c;例如my_python_project&#xff0c;其结构如下&#xff1a; 对于机器学习而言&#xff1a; 其项目结构如下&#xff1a; 对于src即项目的核心代码&#xff0c;可以进一步细分&#xff0c;将上图中的features和models的功能加…

张小明 2025/12/28 23:54:42 网站建设

小说网站做兼职建设部网站防排烟规范

Java Web 是基于 Java 技术构建 Web 应用的核心体系&#xff0c;也是后端开发的主流方向之一&#xff0c;涵盖前端交互、后端逻辑、数据库交互、服务器部署等全链路知识。以下从学习路径、核心知识点、实战方向、学习资源四个维度&#xff0c;整理清晰的学习框架&#xff0c;适…

张小明 2026/1/2 4:44:06 网站建设

重庆手机网站建设公司qq小程序

二、BGP选路原则 1. BGP选路原则概述 BGP选路原则简介 BGP协议使用路径属性来决定路由的优选,我们可以灵活的配置这些属性,在不同场景下通过不同的路径属性来选择最合适的路由,从而影响数据的转发路径。这是在大型网络中不选择OSPF这些IGP协议的原因,OSPF只能通过修改Co…

张小明 2026/1/1 16:26:42 网站建设