当前位置: 首页 > news >正文

网站建设属于技术开发吗网页制作团队

网站建设属于技术开发吗,网页制作团队,wordpress 重命名,湖南省城乡建设厅网站目录 1. 基本设置2. 创建星空效果3. 创建月球模型4. 添加中文3D文字5. 光照与相机配置6. 动画与控制7. 响应式布局8. 结语 在本文中#xff0c;我们将一起学习如何利用Three.js实现一个3D月球与星空的效果#xff0c;并添加一些有趣的元素#xff0c;比如中文3D文字和互动功… 目录 1. 基本设置2. 创建星空效果3. 创建月球模型4. 添加中文3D文字5. 光照与相机配置6. 动画与控制7. 响应式布局8. 结语 在本文中我们将一起学习如何利用Three.js实现一个3D月球与星空的效果并添加一些有趣的元素比如中文3D文字和互动功能。Three.js是一个强大的JavaScript库它简化了WebGL的使用使得在网页上进行3D图形渲染变得更加容易。我们将逐步分析代码帮助大家理解实现原理。 实现效果展示 1. 基本设置 首先我们需要引入Three.js的核心库及相关组件 script srchttps://cdn.jsdelivr.net/npm/three0.132.2/build/three.min.js/script script srchttps://cdn.jsdelivr.net/npm/three0.132.2/examples/js/controls/OrbitControls.js/script script srchttps://cdn.jsdelivr.net/npm/three0.132.2/examples/js/loaders/FontLoader.js/script 这三行代码分别引入了Three.js核心库、OrbitControls用于控制相机旋转和FontLoader用于加载字体。 接下来我们初始化一个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({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); scene场景对象所有的3D物体都会添加到这个场景中。 camera透视相机用来观察场景。 rendererWebGL渲染器用来将场景渲染到网页上。 2. 创建星空效果 我们使用BufferGeometry和PointsMaterial来创建一个星空背景利用随机生成的点来模拟远处的星星 function createStarField() {const starsGeometry new THREE.BufferGeometry();const starCount 5000;const positions new Float32Array(starCount * 3);for(let i 0; i starCount * 3; i 3) {positions[i] (Math.random() - 0.5) * 2000; // Xpositions[i1] (Math.random() - 0.5) * 2000; // Ypositions[i2] (Math.random() - 0.5) * 2000; // Z}starsGeometry.setAttribute(position, new THREE.BufferAttribute(positions, 3));const starsMaterial new THREE.PointsMaterial({color: 0xFFFFFF,size: 1.2,transparent: true,opacity: 0.8,sizeAttenuation: true,alphaTest: 0.5,map: createCircleTexture()});const starField new THREE.Points(starsGeometry, starsMaterial);scene.add(starField); } createStarField(); BufferGeometry用于高效地存储大量的点数据。 PointsMaterial点的材质通过设置透明度和大小来实现星星的效果。 createCircleTexture()创建一个简单的白色圆形纹理用来表示星星。 3. 创建月球模型 为了让效果更加真实我们还加载了月球的纹理并将其应用到一个3D球体上形成真实感的月球 const textureLoader new THREE.TextureLoader(); const moonTexture textureLoader.load(https://threejs.org/examples/textures/planets/moon_1024.jpg); const moonGeometry new THREE.SphereGeometry(2, 64, 64); const moonMaterial new THREE.MeshStandardMaterial({map: moonTexture,roughness: 0.8,metalness: 0.2 }); const moon new THREE.Mesh(moonGeometry, moonMaterial); scene.add(moon); TextureLoader加载月球的纹理图。 SphereGeometry创建一个球形几何体用作月球的基础模型。 MeshStandardMaterial创建一个标准材质提供更真实的光照效果。 4. 添加中文3D文字 通过FontLoader我们可以加载中文字体并创建3D文字 const fontLoader new THREE.FontLoader(); fontLoader.load(gongfannufangti_Regular.json, function(font) {const textGeometry new THREE.TextGeometry(海上明月共潮生, {font: font,size: 0.8,height: 0.2,curveSegments: 12,bevelEnabled: true,bevelThickness: 0.03,bevelSize: 0.02,bevelOffset: 0,bevelSegments: 5});textGeometry.computeBoundingBox();const textWidth textGeometry.boundingBox.max.x - textGeometry.boundingBox.min.x;const textMaterial new THREE.MeshPhongMaterial({color: 0xfffff0,specular: 0x111111,shininess: 100});const textMesh new THREE.Mesh(textGeometry, textMaterial);textMesh.position.set(-textWidth / 2, 3, 0);scene.add(textMesh); }, undefined, function(err) {console.error(在线字体加载失败请尝试备用方案); }); 5. 光照与相机配置 为了让场景更具真实感我们添加了环境光和定向光照 const ambientLight new THREE.AmbientLight(0xffffff, 0.5); scene.add(ambientLight);const directionalLight new THREE.DirectionalLight(0xffffff, 1); directionalLight.position.set(5, 5, 5); scene.add(directionalLight); AmbientLight提供均匀的全局光照不会投射阴影。 DirectionalLight模拟太阳光的定向光照能投射阴影并增强场景的光照效果。 6. 动画与控制 通过OrbitControls我们可以实现相机的旋转和平移功能使得用户可以自由探索这个3D场景 const controls new THREE.OrbitControls(camera, renderer.domElement); controls.enableDamping true; controls.dampingFactor 0.05; controls.autoRotate true; controls.autoRotateSpeed 0.5; autoRotate功能允许场景自动旋转提升交互体验。 7. 响应式布局 为了让网页在不同设备上适配我们添加了窗口大小变化时的适应性调整 window.addEventListener(resize, () {camera.aspect window.innerWidth / window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth, window.innerHeight); }); 这样无论是手机还是电脑都能获得最佳的显示效果。 8. 结语 通过本文的介绍我们成功地使用Three.js创建了一个3D月球与星空的效果并结合了中文3D文字和相机控制等互动功能。你可以根据自己的需求进一步扩展和修改这个项目比如添加更多星体、调整光照效果、使用自定义的字体等。任何问题欢迎在评论区交流和分享。完整源码在同名知识星球可下载。
http://www.w-s-a.com/news/388381/

相关文章:

  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级
  • 网站制作容易吗logo免费生成网站
  • 建设厅官方网站下载专区网络托管公司
  • 祥云平台官方网站网线制作实验原理
  • 把网站做成app的软件下载国外做兼职的网站有哪些
  • 网站建设 海豚弯专业的网站开发服务商
  • 那个网站有免费模板中国家装公司十大排名
  • 中铁建设集团有限公司门户网站余杭区建设规划局网站
  • 天猫网站建设的目标是什么做网站常见问题模板
  • 做php网站需要什么软件天津建设网官方网站
  • 南漳网站开发上海网站推广方法
  • 深圳seo网站大连旅顺房价
  • dede网站 地图什么做有没有做黑市网站
  • 做网站参考文献域名如何做网站
  • 怎么选择网站开发英文网站建设用途
  • 怎样做电子商务网站织梦生成手机网站
  • 公司网站建设选什么服务器网站里怎样添加关键词
  • 深圳建设局网站深业中城绿化项目营销型网站开发流程包括
  • 找销售的网站九江市建设项目服务中心
  • 东原ARC网站建设公司合肥seo网站推广外包
  • 那个网站是做房产中介的网站制作软件小学
  • 做网页怎么建站点视频解析网站
  • 做网站的系统设计网站设计论文前言
  • 做外贸网站多久更新汕头市建设局网站首页
  • 如何建设专业化的网站手机管理网站模板
  • 花生壳做网站如何用腾讯云做网站
  • 搭建集团网站开发app需要哪些软件
  • 网站建设 中企动力福州阀门wordpress 多说评论
  • php网站集成支付宝接口下载免费网络软件