分类:threejs

threejs

threejs 太阳系提高性能 共享Geometry Material

threejs 太阳系提高性能 共享Geometry Material
threejs 绘制太阳系各星球后,我们每一个星球都是单独创建的网格模型,网格模型越多,对资源的消耗也越多,那么如何减少资源的消耗呢? 我们可以通过让多个星球共享同一个网格模型,来减少网格模型,从而减少资源消耗。 星球模型重构 星球模型每次创建都会初始化一个网格模型,为了减少资...

yekong 2年前 (2023-04-02) 喜欢

threejs绘制地球围绕太阳公转轨道

threejs绘制地球围绕太阳公转轨道
之前我们实现threejs实现地球围绕太阳公转,距离threejs创建太阳系近了一步,地球围绕太阳公转了,我们需要绘制一条线用来表示公转轨道。 创建轨道方法 通过three方法我们可以使用ArcCurve来绘制轨道,我们创建一个绘制轨道的方法 import * as THREE...

yekong 2年前 (2023-03-26) 喜欢

threejs 实现发光描边闪烁效果

threejs 实现发光描边闪烁效果
threejs实现发光描边后,我们可以继续深入学习,进行更多的设置。 OutlinePass有很多控制高亮外边框样式的属性,下面介绍几个比较常用的属性。 OutlinePass描边颜色 OutlinePass描边颜色,通过visibleEdgeColor来实现,默认是白色 out...

yekong 2年前 (2023-03-24) 喜欢

threejs 实现高亮发光描边效果

threejs 实现高亮发光描边效果
threejs会遇到一些需求,比如模型选中后,添加一个高亮描边的效果,表示当前模型选中了,那么如何实现描边呢? 这里我们可以使用OutlinePass来实现高亮发光描边效果 后期处理需要用到EffectComposer.js效果合成器,对threejs进行后期处理。 引入Effe...

yekong 2年前 (2023-03-24) 喜欢

threejs 射线Ray api的使用

threejs 射线Ray api的使用
学习Threejs中的射线Ray概念,你可以类比数学几何中提到的射线,在三维空间中,一条线把一个点作为起点,然后沿着某个方向无限延伸。 创建射线对象 // 创建射线对象 const ray = new THREE.Ray() 射线起点 .origin 射线Ray的起点.orig...

yekong 2年前 (2023-03-09) 喜欢

threejs 绘制圆环效果

threejs 绘制圆环效果
vue 可视化数据大屏 智慧校园综合指挥中心项目开发中,需要使用threejs绘制一个圆环轨道 使用 circle(type.R); 绘制方法 // 圆弧轨迹绘制函数 function circle(r) { // ArcCurve创建一个圆弧曲线 var a...

yekong 2年前 (2023-03-08) 喜欢

threejs 几何体一个颜色变化另外一个也跟着变

threejs 几何体一个颜色变化另外一个也跟着变
问题 在threejs项目中,可能会出现一种情况,明明修改的只是模型1的材质颜色,其他模型的材质颜色也跟着变了。 原因: 两个模型共享的同一个材质,对材质的任何修改都会同时反应在两个模型上。 两个mesh共享一个材质,改变一个mesh的颜色,另一个mesh2的颜色也会跟着改变 n...

yekong 2年前 (2023-02-28) 喜欢

threejs 隐藏模型和显示模型

threejs 隐藏模型和显示模型
threejs项目开发中我们会遇到隐藏模型的需要,我们可以通过属性.visible来控制模型的隐藏和显示。 .visible是true是显示,false为隐藏,默认为true group.visible = false 材质属性 .visible 材质对象的父类 Materia...

yekong 2年前 (2023-02-28) 喜欢

threejs 添加对象移出对象

threejs 添加对象移出对象
threejs 通过add()添加对象,比如添加模型光源到场景中。 通过remove移出对象,将已添加的对象从父对象.children属性中删除。 const group = new THREE.Group(); const mesh1 = new THREE.Mesh(geom...

yekong 2年前 (2023-02-28) 喜欢

threejs控制相机旋转范围

threejs控制相机旋转范围
展示一个三维场景,你想控制360度旋转范围,比如一个工厂,你不希望用户看到工厂的底部,你可以通过设置相机的旋转范围属性来实现。 通过.minPolarAngle 和.maxPolarAngle 属性控制上下的旋转范围,默认从0到180度, 默认情况下0度,XOZ平面平行canva...

yekong 2年前 (2023-02-28) 喜欢