位置: 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怎么增加子栏目)

  • 电脑启动项设置没有usb启动(电脑启动项设置)(电脑启动项设置在哪里)

    电脑启动项设置没有usb启动(电脑启动项设置)(电脑启动项设置在哪里)

  • 怎么关闭wps自动续费(怎么关闭wps自动生成序号)

    怎么关闭wps自动续费(怎么关闭wps自动生成序号)

  • 微信支付指纹如何修改(微信支付指纹如何录入)

    微信支付指纹如何修改(微信支付指纹如何录入)

  • 微信步数是一天更新一次吗(微信步数一天五万步正常吗)

    微信步数是一天更新一次吗(微信步数一天五万步正常吗)

  • word分栏怎么做(word分栏怎么两栏独立编辑)

    word分栏怎么做(word分栏怎么两栏独立编辑)

  • 电话一接通就报验证码(打电话接通了就有嘀嘀然后正常通话)

    电话一接通就报验证码(打电话接通了就有嘀嘀然后正常通话)

  • 怎么把自己的朋友圈关闭(怎么把自己的朋友圈弄成未开通)

    怎么把自己的朋友圈关闭(怎么把自己的朋友圈弄成未开通)

  • 苹果双摄像头有哪些款(苹果双摄像头有哪些手机)

    苹果双摄像头有哪些款(苹果双摄像头有哪些手机)

  • win10实时保护打不开(Win10实时保护打不开)

    win10实时保护打不开(Win10实时保护打不开)

  • 骁龙660的手机有哪些(骁龙660手机有哪些推荐)

    骁龙660的手机有哪些(骁龙660手机有哪些推荐)

  • 微信提醒怎么取消(微信提醒怎么取消安卓)

    微信提醒怎么取消(微信提醒怎么取消安卓)

  • 华为p30pro分屏功能在哪里(华为p30pro分屏功能怎么使用)

    华为p30pro分屏功能在哪里(华为p30pro分屏功能怎么使用)

  • 华为nova5的OTG在哪

    华为nova5的OTG在哪

  • iphone7p有没有红外线功能(iphone7有没有红色)

    iphone7p有没有红外线功能(iphone7有没有红色)

  • efi是什么(bios的uefi是什么)

    efi是什么(bios的uefi是什么)

  • 荣耀20和荣耀20s参数对比(荣耀20和荣耀20s的钢化膜是一样的吗)

    荣耀20和荣耀20s参数对比(荣耀20和荣耀20s的钢化膜是一样的吗)

  • 华为nova5pro防水等级多少(华为nova5pro防水等级)

    华为nova5pro防水等级多少(华为nova5pro防水等级)

  • 手机京东在哪加好友(京东怎么添加)

    手机京东在哪加好友(京东怎么添加)

  • 红圈通的定位能关掉吗(红圈通定位用什么可以改位置)

    红圈通的定位能关掉吗(红圈通定位用什么可以改位置)

  • figtl10是什么手机(flaal10是什么手机)

    figtl10是什么手机(flaal10是什么手机)

  • 红米k20pro支不支持无线充电(红米k20pro支不支持OTG)

    红米k20pro支不支持无线充电(红米k20pro支不支持OTG)

  • qq音乐免流量怎么退订(qq音乐免流量怎么激活2022)

    qq音乐免流量怎么退订(qq音乐免流量怎么激活2022)

  • oppoR9s手机怎么截屏(oppor9s手机怎么设置软件密码锁)

    oppoR9s手机怎么截屏(oppor9s手机怎么设置软件密码锁)

  • H5画布 canvas(一)canvas简介、绘制圆形/矩形、案例饼状图绘制(h5 画图)

    H5画布 canvas(一)canvas简介、绘制圆形/矩形、案例饼状图绘制(h5 画图)

  • 企业卖车交税怎么算的
  • 法人转钱入公户怎么做会计分录
  • 用友U8财务报表UFO怎么生成
  • 员工餐费用应该怎么记账
  • 应交税费贷方有余额,怎么销账
  • 营业执照经营范围增项如何办理
  • 企业销售不动产增值税政策
  • 房地产开发企业土地增值税清算
  • 持有待售固定资产为什么不计提折旧
  • 员工个人无息借款违法吗
  • 房屋租赁合同印花税计税依据
  • 销售折扣开票怎么开
  • 产品销售返利模式
  • 开店卖蔬菜
  • 国税的申报表季报本月数如何填写?
  • 普通发票开票步骤
  • 房租的应收必须交吗
  • 附加税增值税免抵税额的数据从哪里提取的
  • 审计调整分录如何处理
  • 外账不能出现收据
  • 企业破产应收账款要发询证函吗
  • 开发支出会计科目
  • 事业单位洗车费如何入账
  • 企业接受投资者的土地使用权投资
  • 个体工商户核定征收标准2023
  • 服务器数据迁移到新的服务器
  • 专用发票增量申请流程
  • 国产操作系统两项全球第一
  • hpp是什么文件
  • 购入包装物的增值税计入进项税吗
  • 基金的管理费用包括什么
  • win10电源高性能被删了
  • 发票开出后只收到部分款怎么处理?
  • 未开票收入以后必须开票吗
  • 企业低值易耗品有哪些
  • y库数据库
  • 插件不支持是什么意思
  • 厂房和设备折旧年限
  • 网上申报完还需要去税务局吗
  • 未达起征点销售额
  • 销售提成缴税
  • 小微企业税款征收方式
  • 报税是按照实际收入还是开票
  • 扶贫资金是如何发放的
  • 合营企业和联营企业是重大影响吗
  • 固定资产盘盈为什么计入管理费用
  • 计提职工薪酬是什么意思
  • 小规模企业没有账,税务会查账吗
  • 银行收费错误当天能退吗
  • 自用房产税计入什么科目
  • 首次购买金税盘及服务费的账务处理
  • 出现销项负数
  • 手机开个人发票怎么开
  • 内部使用的收据可以做原始凭证吗
  • 年报和汇算清缴的顺序
  • 什么是挂靠?
  • 在mysql中,删除表的外键约束的关键字为()
  • 高效的sql语句
  • MySQL 与 Elasticsearch 数据不对称问题解决办法
  • 阿里云centos7安装图形界面
  • mysql格式化数值
  • mysqlvarchar汉字
  • 电脑安装win8系统
  • 比较常见的别墅户型
  • win xp怎么样
  • spybuddy.exe - spybuddy是什么进程
  • kb4012212安装失败
  • win7系统自带的截屏工具怎么打开
  • recyclerview addview
  • android canvas scale
  • perl mkdir
  • js class属性
  • android 系统app权限
  • js设置rem
  • jquery prototype
  • 国家税务总局税法
  • 护肤品关税税率
  • 即征即退的留抵税额是否可以抵一般计税的税额
  • 2022年企业所得税税率2.5% 10% 25%
  • 计提缴纳城建税分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设