位置: IT常识 - 正文

基于Three.js实现酷炫3D地图效果(three.js gui)

编辑:rootadmin
这篇文章主要为大家详细介绍了如何利用Three.js实现酷炫3D地图的效果,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以尝试一下 目录

推荐整理分享基于Three.js实现酷炫3D地图效果(three.js gui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:three. js,three. js,three.js例子,three.js bim,three. js,three.js入门指南,three. js,three.js入门指南,内容如对您有帮助,希望把文章链接给更多的朋友!

实现效果前言使用1.修改整体的背景图可以使用颜色或用贴图改材质2.取消地图上柱状图显示3.更换地图、更换省份、市4.修改相机的视角,页面展示的远近角度5.修改地图的颜色及贴图6.关闭一些特效7.页面适配和在vue2版本中使用实现效果

前言

本文主要说明使用threejs技巧,来定制适合项目需求的样式,源码将在本文最后附上gitee地址。

使用1.修改整体的背景图可以使用颜色或用贴图改材质

方法:

只需修改createChinaMap()方法中的color属性即可,注意一共要修改4个color,其中有两个是地图边界线的颜色。也可以使用贴图,

2.取消地图上柱状图显示

create钩子函数里注释掉// this.createBar()即可

3.更换地图、更换省份、市

基于Three.js实现酷炫3D地图效果(three.js gui)

更换很简单,就是如图位置修改引入的地图文件即可,但是修改之后需要注意的是,地图中心点改变了,比如现在将地图展示由金华市改为台州市,那么还需要修改@/comfig文件下的配置,如下图所示:

修改之后的效果如下:

4.修改相机的视角,页面展示的远近角度

5.修改地图的颜色及贴图

let city = new BaseMap(this, {data: data,// topFaceMaterial: material.getMaterial(),topFaceMaterial: new THREE.MeshPhongMaterial({color: "red", //想要的颜色emissive: 0x072534,transparent: true,opacity: 1,}),sideMaterial: sideMaterial.getMaterial(),renderOrder: 6,depth: config.cityName ? 0.3 : 3,})

如果你想引入贴图,这样会更好看,可以使用以下方法:

// 在index.js中引入的给地图做材质estartconst texture = new THREE.TextureLoader()const textureMap = texture.load(require('./data/map/gz-map.jpg'))const texturefxMap = texture.load(require('./data/map/gz-map-fx.jpg'))textureMap.wrapS = texturefxMap.wrapS = THREE.RepeatWrappingtextureMap.wrapT = texturefxMap.wrapT = THREE.RepeatWrappingtextureMap.flipY = texturefxMap.flipY = falsetextureMap.rotation = texturefxMap.rotation = THREE.MathUtils.degToRad(45)const scale = 0.1textureMap.repeat.set(scale, scale)

然后

let city = new BaseMap(this, {data: data,// topFaceMaterial: material.getMaterial(),topFaceMaterial: new THREE.MeshPhongMaterial({map: textureMap,//不要忘记这里使用贴图color: "red", //想要的颜色emissive: 0x072534,transparent: true,opacity: 1,}),sideMaterial: sideMaterial.getMaterial(),renderOrder: 6,depth: config.cityName ? 0.3 : 3,})6.关闭一些特效

create中是所有方法的开关,在这里可以进行调试

create () {// 添加雾this.scene.fog = new THREE.Fog(0x191919, 30, 70)this.getCenterPoint()this.createPlane()this.createChinaMap()this.createProvinceMap()this.createCityMap()this.createGrid()this.createLight()this.createRotateBorder()this.createLabel()this.createWall()// this.createBar()this.createParticles()}7.页面适配和在vue2版本中使用

页面适配建议给这个地图使用绝对定位,样式代码可参考以下:

width: 1920px;height: 1080px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);

在vue2中使用:

npm 下载这个插件:@vue/composition-api

然后main.js注册下即可

到此这篇关于基于Three.js实现酷炫3D地图效果的文章就介绍到这了,更多相关Three.js 3D地图内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

本文链接地址:https://www.jiuchutong.com/zhishi/309224.html 转载请保留说明!

上一篇:二、python基本数据类型(python提供的3个基本数字类型)

下一篇:帝国cms怎么增加专题(帝国cms怎么增加子栏目)

  • word形状填充在哪里(word形状填充在哪)

    word形状填充在哪里(word形状填充在哪)

  • 支付宝小鸡盲盒怎么获得(支付宝小鸡盲盒的图片)

    支付宝小鸡盲盒怎么获得(支付宝小鸡盲盒的图片)

  • 苹果xr如何设置面容解锁(苹果xr如何设置nfc门禁卡)

    苹果xr如何设置面容解锁(苹果xr如何设置nfc门禁卡)

  • 华为手机怎么关闭自动扣款(华为手机怎么关闭自动更新)

    华为手机怎么关闭自动扣款(华为手机怎么关闭自动更新)

  • 公众号可以转让吗(公众号可以转让不)

    公众号可以转让吗(公众号可以转让不)

  • 苹果怎么开启曝光锁定(苹果怎么开启曝光拍摄)

    苹果怎么开启曝光锁定(苹果怎么开启曝光拍摄)

  • 索立信T100wifi连上不能用(索立信t13怎么操作)

    索立信T100wifi连上不能用(索立信t13怎么操作)

  • 华为p30手机快充怎么没了(华为p30手机快充模式在哪里调)

    华为p30手机快充怎么没了(华为p30手机快充模式在哪里调)

  • 闲鱼发货有没有限定时间(闲鱼买东西发货吗)

    闲鱼发货有没有限定时间(闲鱼买东西发货吗)

  • 京东阅读和京东读书的区别(京东阅读和京东的区别)

    京东阅读和京东读书的区别(京东阅读和京东的区别)

  • 现场6s管理内容是什么(现场6s管理内容说法正确的是)

    现场6s管理内容是什么(现场6s管理内容说法正确的是)

  • 戴尔笔记本安装不了软件(戴尔笔记本安装系统后无法进入系统)

    戴尔笔记本安装不了软件(戴尔笔记本安装系统后无法进入系统)

  • 电脑关机出现蓝屏英文要怎么解决(电脑关机出现蓝屏无字)

    电脑关机出现蓝屏英文要怎么解决(电脑关机出现蓝屏无字)

  • dubaloo是什么型号(dumbo是什么意思)

    dubaloo是什么型号(dumbo是什么意思)

  • qq密码输入错误多少次会被冻结(qq密码输入错误两次怎样删除错误次数)

    qq密码输入错误多少次会被冻结(qq密码输入错误两次怎样删除错误次数)

  • 苹果微信输入法怎么设置(苹果微信输入法变成繁体字)

    苹果微信输入法怎么设置(苹果微信输入法变成繁体字)

  • 加入粉丝团可以退出吗(加入粉丝团可以获得专属优惠券话术)

    加入粉丝团可以退出吗(加入粉丝团可以获得专属优惠券话术)

  • 通过wpa/wpa2进行保护什么意思(通过wpa/wpa2进行保护)

    通过wpa/wpa2进行保护什么意思(通过wpa/wpa2进行保护)

  • ps如何清理暂存盘(怎么清理photoshop暂存盘)

    ps如何清理暂存盘(怎么清理photoshop暂存盘)

  • xs前置摄像头像素(xs前置摄像头模糊怎么办)

    xs前置摄像头像素(xs前置摄像头模糊怎么办)

  • 手机电信卡限速怎么办(手机电信卡限速怎么解除)

    手机电信卡限速怎么办(手机电信卡限速怎么解除)

  • 微机的开机顺序是什么(微机的开机顺序类似答案)

    微机的开机顺序是什么(微机的开机顺序类似答案)

  • 饿了吗在哪给骑手好评(饿了么怎么@骑士)

    饿了吗在哪给骑手好评(饿了么怎么@骑士)

  • 躲避黑客的方法是什么(如何防御黑客入侵)

    躲避黑客的方法是什么(如何防御黑客入侵)

  • 微擎框架破解版v2.6.4去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(破解版微擎框架如何升级)

    微擎框架破解版v2.6.4去授权一键安装纯净商业版(微擎纯净框架,无任何限制)-电脑学习网(破解版微擎框架如何升级)

  • 非营利组织企业所得税季度申报表
  • 什么是免税合并
  • 耕地占用税计入无形资产吗
  • 小规模增值税纳税申报
  • 自然人报税系统怎么进入单位报税系统
  • 股东借款超过一年个人所得税
  • 社保委托代发银行账号是空的
  • 完工百分比法完工进度怎么算
  • 设计服务需要交文化建设费吗
  • 五险一金可以在手机上交吗
  • 所得税汇算清缴时间期限
  • 收到认缴实收资本怎么做账务处理?
  • 免税的苗木发票抵扣税费怎么算
  • 进口后的技术服务费
  • 职工福利费发票不小心抵扣了汇算清缴
  • 税务会计学知识点
  • 企业计算缴纳所得税标准
  • 银行贷款受托支付受托人有风险吗
  • 股权无偿赠与子女怎么办理手续
  • 吸收合并企业的情形
  • 北大新闻传播学院副院长
  • 软件无法运行解决方法
  • 企业庆祝建党活动
  • 应交增值税的会计科目
  • windows 11 正式
  • 组策略阻止了这个程序0x800704ec
  • 三方转账协议应该怎么写
  • 集团内部调拨账务处理
  • 补缴增值税滞纳金天数
  • js控件的监听事件怎么使用
  • nexus 搭建
  • 基建会计和建筑会计的区别
  • php 验证码
  • 怎么启用framework3.5
  • 企业所得税申报表模板
  • 小规模纳税人增值税申报表怎么填
  • 物流公司过户给我需要做什么
  • thinkphp框架结构
  • 【角色扮演】
  • 从 零开始
  • 自学前端好学吗
  • vuerouter模块化
  • websocket怎么读
  • php中cookie的值存储在哪
  • 员工离职后个税申报系统如何操作
  • vue 生产环境
  • mysqlbinlog命令详解
  • php跳转到指定网页代码
  • 办理对公账户时间
  • 固定资产原值增加当月计提折旧吗
  • 固定资产折旧计算方法公式大全
  • 一般纳税人季报怎么填
  • 新销售收入的确认条件
  • 劳动仲裁的调解书可以撤销吗
  • 进项抵扣项目
  • 建筑公司包工包料提供建筑服务
  • 机动车临时号牌怎么贴
  • 一般纳税人城建税税率是多少
  • 小规模纳税人开专票税率是多少?
  • 农副产品免税发票可以抵扣吗?
  • 商业地产会计账务怎么做
  • 银行汇票结算业务
  • 发现以前的账做错了
  • 公司注册资金可以变更减少吗
  • win7系统最佳性能
  • windows8.1安装windows7
  • 一劳永逸的方法是什么
  • os x yosemite dp5下载地址 os x 10.10 dp5更新内容
  • STMGR.EXE - STMGR是什么进程
  • macos vmware
  • centos6.5升级到7.2
  • 电脑ie8浏览器
  • 简述android多线程编程的实现方式
  • jquery点击方法
  • python中else语句
  • 安卓开发常用代码
  • 公益性公墓免交税吗
  • 企业改制相关文件
  • 企业所得税一年算几次
  • 津补贴怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设