草庐IT

03.Three.js的入门教程(二)如何创建一个3D地球?

前言:通过上节课 02.Three.js的入门课程(一),我们了解了Three.js的最小案例DEMO,熟悉了几个重要组成部分。这节课带领大家编写一个3D地球。一、通过纹理图渲染一个地球1.1.创建一个纹理加载器对象TextureLoader,可以加载图片作为纹理贴图;//引入three.jsimport*asTHREEfrom'../../../three.js-r123/build/three.module.js';//创建地球mesh网格对象//地球半径varR=100;varearth=createSphereMesh(R);//R:地球半径functioncreateSphereMe

three.js 基础认识与简单应用

学习总结初衷:     1.公司项目需要。    2.做一下笔记,方便以后学习查看,好记性不如烂笔头;也能筑固基础,加深印象。    3.现在国内关于Three.js的学习资料很少,总结一下多多少少也能给有需要的小伙伴一些帮助。一、前言1.什么是three.js?你将它理解成three+js,three表示3D的意思,js表示JavaScript的意思,合起来,three.js就是使用JavaScript来写3D程序的意思。three.js是基于WebGL的一个运行在浏览器上的开源框架,使得WebGL的使用更方便、快捷,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。2.thr

three.js 汽车行驶动画效果

实现原理是使用TWEEN.Tween实现动画效果实现汽车模型加载使用Promise编写模型的异步加载方法参数position是汽车初始位置,参数rotation是汽车初始朝向Car.prototype.loadCar=function(position,rotation){letonProgress=function(xhr){};returnnewPromise((resolve,reject)=>{if(!this.model){letloader=newTHREE.GLTFLoader();loader.load(this.url,gltf=>{constmodel=gltf.scene

Three.js 在微信小程序中实现3D展厅

一:简介    在微信小程序中,使用和构建3D数字孪生应用一直是我的梦想。经过我多年的学习和积累,终于实现了基础的业务功能,并且已经在微信小程序上成功发布、上线。(目前样式比较丑,待优化的地方还很多,我回努力的)。   小程序的名称”元宇宙1314”,小程序简介”在元宇宙上爱我一生一世”。灵感来源是,给“元宇宙”一个技术热门词汇,赋予爱情的价值,好比钻石和婚姻的关系。主要应用在恋爱的情侣,亲子,旅游以及喜欢拍照的人群。(非常欢迎各位兄弟推广和关注小程序)二:主要功能主要功能有"根据模板创建展厅","展厅详情","编辑展厅","展厅预览","展厅分享","展厅删除"等等1.创建展厅    点击首

three.js 纹理贴图的使用

 刚刚入门的小伙伴请先查看 three.js基础认识与简单应用本文章中的两个注意点,下面也有提到,分别是:1、  vue项目中使用的贴图路径-->需要把static文件夹放到public文件夹下,并使用static开头的绝对路径。2、使用环境遮挡贴图时,必须要给物体对象添加第二组uv,否则不起作用;        下面就用一个个例子来分析一下每张贴图的作用与效果,每个功能的讲解都在“主要代码”中的注释上展示,不要看着内容很多,很多代码都是重复的,为了便于大家和后期我查看笔记时理解。一、使用方法与注意点(以颜色贴图为例):  使用纹理贴图的第一步就是导入,three.js专门提供了纹理加载函数T

Three.js相机模拟

有没有想过如何在3DWeb应用程序中模拟物理相机?在这篇博文中,我将向你展示如何使用Three.js和OpenCV来完成此操作。我们将从模拟针孔相机模型开始,然后添加真实的镜头畸变。具体来说,我们将仔细研究OpenCV的两个失真模型,并使用后处理着色器复制它们。拥有逼真的模拟相机可以让你在真实相机捕获的图像上渲染3D场景。例如,这可以用于增强现实,也可以用于机器人和自动驾驶车辆。这是因为机器人和自动驾驶汽车通常结合了3D传感器(如激光雷达)和摄像头,在摄像头图像上可视化3D数据对于验证传感器校准非常重要。在创建和检查3D标注时它也非常有帮助,这就是我在Segments.ai上解决这个问题的原因

Three.js中光线投射Raycaster的简单使用案例 与模型的交互,当鼠标移动到模型时出现信息框

目录说明  创建两个模型基础代码 基础代码效果图如下:重点!!!  创建光线投射Raycaster实例步骤1.准备一个盒子,用来展示模型的长宽高信息,初始化时先隐藏该盒子2.创建光线投射Raycaster实例        1.创建Raycaster实例          2.为窗口绑定事件pointermove想使用点击事件click的可以自行修改        3.定义窗口触发pointermove事件所执行的回调函数onPointerMove         4.通过摄像机和鼠标位置更新射线完整代码如下:效果图如下: 结尾说明 说明:该案例是基于Vue2创建,如果未使用Ve2请自行修改代

使用Three.js实现web端显示点云

需要了解html、js、websocket的基本使用,建议浏览three.js文档中场景、渲染器、光源、相机以点模型、Buffergeometry的相关知识第一步,创建html文件 Myfirstthree.jsapp body{margin:0;}/*隐藏body窗口区域滚动条*/ //引入three及相关插件//轨道控制器,用于调整视角 //OurJavascriptwillgohere. 第二步,从npm安装threenpminstallthree导入整个three.js核心库import*asTHREEfrom'three'; 或是使用cdn或者在

THREE.JS实现个人简历网站

目录一、前言二、模型准备2.1资源寻找2.2资源处理2.3Draco压缩三、基础场景四、灯光4.1介绍4.2阴影相机4.3灯光渲染五、动画5.1多媒体5.2椅子旋转5.3明暗变换六、真实性渲染6.1uv贴图6.2光照6.3渲染器6.3.1utputEncoding6.3.2Tonemapping6.4阴影失真一、前言最近,在github上面找到了一个不错的技术介绍网站,主要使用html+css+js原生三件套写的。我在此基础之上利用three.js加了一点3D元素在里面,让这个网站看起来更炫酷。改的时候,感觉原生还是比不上框架来的方便,后续有时间我会抽离一个vue组件的版本。在线访问:个人简历

数字孪生——thing.js和three.js

一、前言数字孪生指的是采用虚拟仿真技术,将物理实体的全部或部分信息数字化并复制到虚拟世界中,使得物理实体对象的一切运动、行为及系统属性在虚拟空间中得以表现和模拟的技术。其以数据为驱动,构建孪生体模型,继而在数字空间模拟仿真物理系统的演绎过程,进一步在数字空间对孪生系统进行推演和预测。它主要基于遥感、传感器等技术实现,并运用大数据、人工智能、云计算等技术提高其精确度,为智能决策和高效操作提供支撑。本文以物流方向出发,主要从业务角度和应用角度,针对ThreeJS和ThingJS做出技术调研。二、数字孪生在物流领域的前景1.政策支持近些年来,我国密集出台相关政策以支持数字孪生技术的应用发展,相关政策