vue+cusium加载3dtiles模型

这篇具有很好参考价值的文章主要介绍了vue+cusium加载3dtiles模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端配置

结合cesium,有很多种方法,这里举例最简单的,小白入门首选

第一步是在app.vue配置cdn链接

<script src="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Cesium.js"></script>
 <link href="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Widgets/widgets.css" rel="stylesheet">

第二步配置vue页面

<template>
  <div>
    <div id="cesiumDemo"></div>
  </div>
</template>

<script>
  let viewer
  export default {
    name: 'CesiumDemo',
    data() {
      return {}
    },
    created() {},
    mounted() {
      this.getCesiumDem()
    },
    destroyed() {},
    methods: {
      // 实例cesium
      getCesiumDem() {
        Cesium.Ion.defaultAccessToken =
          '你的token,在cesium官网注册,有很多教程'
        viewer = new Cesium.Viewer('cesiumDemo', {
          //需要进行可视化的数据源的集合
          animation: false, //是否显示动画控件
          shouldAnimate: true,
          homeButton: false, //是否显示Home按钮
          fullscreenButton: false, //是否显示全屏按钮
          baseLayerPicker: false, //是否显示图层选择控件
          geocoder: false, //是否显示地名查找控件
          timeline: false, //是否显示时间线控件
          sceneModePicker: true, //是否显示投影方式控件
          navigationHelpButton: false, //是否显示帮助信息控件
          infoBox: false, //是否显示点击要素之后显示的信息
          requestRenderMode: false, //启用请求渲染模式
          scene3DOnly: true, //每个几何实例将只能以3D渲染以节省GPU内存
          sceneMode: 3, //初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneMode
          fullscreenElement: document.body, //全屏时渲染的HTML元素 暂时没发现用处
        })
        //加载倾斜示范数据
        viewer._cesiumWidget._creditContainer.style.display = "none";//版权信息清除
        var palaceTileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
          url: './static/demo/tileset.json',//3dtiles文件位置(记得放在static或者pubilc文件夹下)
          show: true,
          //控制切片视角显示的数量,可调整性能
          aximumScreenSpaceError: 2,
          maximumNumberOfLoadedTiles: 100000,
        }));
        //控制模型的位置
        palaceTileset.readyPromise.then(function(palaceTileset) {
          viewer.scene.primitives.add(palaceTileset);
          var heightOffset = -12; //可以改变3Dtiles的高度
          var boundingSphere = palaceTileset.boundingSphere;
          var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
          var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
          var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
          var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
          palaceTileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
          viewer.zoomTo(palaceTileset, new Cesium.HeadingPitchRange(0.5, -0.2, palaceTileset.boundingSphere.radius *
            1.0));
        })
        //定位到三维模型
        viewer.scene.globe.depthTestAgainstTerrain == true;//深度检测
        viewer.zoomTo(palaceTileset);
      }
    }
  }
</script>
<style scoped>
  /* cesiumDemo {
  width: 100vw;
  height: 100vh;
} */
  /* 隐藏cesium标志 */
  .cesium-viewer .cesium-widget-credits {
    display: none;
  }
</style>

添加完,就可以正常运行了

打包后的运行

正常打包完,直接打开index是不会加载的,有的还会报错,这是跨域所致,要配置服务器
具体步骤
一、打开dist文件,输入cmdvue+cusium加载3dtiles模型,vue.js,前端,javascript,node.js
二、配置服务器npm install http-server -g
vue+cusium加载3dtiles模型,vue.js,前端,javascript,node.js

三、添加请求头http-server --cors -p 8888 -ovue+cusium加载3dtiles模型,vue.js,前端,javascript,node.js

四、就可以运行啦文章来源地址https://www.toymoban.com/news/detail-743061.html

到了这里,关于vue+cusium加载3dtiles模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Threejs模型切片转3DTiles加载

    个人主页: 左本Web3D,更多案例预览请点击==》 在线案例 个人简介:专注Web3D使用ThreeJS实现3D效果技巧和学习案例 💕 💕积跬步以至千里,致敬每个爱学习的你。获取模型或源码请点赞收藏加留言,有问题请私信或加微信  1,模型切片,如下图 选择“通用模型切片”模块

    2024年02月11日
    浏览(43)
  • Cesium地图上加载3DTiles模型

    1,使用Blender创建模型: 官网下载Blender:https://www.blender.org/,在Github上下载Building Tools插件,通过编辑-偏好设置-插件-安装,导入压缩包使用,这个可以自己创建小房子,文件-导出为obj格式 2,将.obj转成3dtiles格式: 1,第一种方法通过加载本地文件展示: 1,github下载ObjTo3

    2024年02月03日
    浏览(46)
  • Cesium加载3Dtiles模型-大疆智图

    Cesium加载3Dtiles模型步骤: (一)如果您使用的是大疆智图,则该软件可以直接输出3Dtiles格式(B3DM切片)的数据,如图所示:   (二)如果您使用的是CC(Smart3D),该软件可以输出OSGB格式的数据,我们可以借助: 1.osg2cesiumApp v1.3软件来将我们的OSGB倾斜摄影数据转换成3Dtil

    2024年02月11日
    浏览(43)
  • cesium——加载3DTiles,模型的选中,高亮效果

    3DTiles是一种用于组织和传输大规模地理数据的规范,旨在提供一种高效、可扩展的方式来加载和显示复杂的3D模型。它革新了地理数据可视化领域,为创建逼真的三维地图提供了新的可能性。 3DTiles采用了一种层次化的数据结构,将地理信息按照空间范围划分成小块,类似于

    2024年02月07日
    浏览(59)
  • mapbox+deck.gl加载倾斜摄影模型3dtiles

    做三维WebGIS开发的朋友们都知道,我们加载倾斜摄影模型,一般使用cesium加载3dtiles格式的数据很简单,官网和网上都有很多例子,这里也不再详细赘述。但是在使用cesium场景中我们会遇到这样一个问题,在加载整个球的时候其实是影响了性能的,在加载局部小场景的时候我们

    2024年02月02日
    浏览(85)
  • cesium加载显示点云及倾斜模型(3dtiles)

            在cesium加载并显示点云或者倾斜模型之前,需要将不同格式的数据转为3dtiles,具体参考倾斜、点云转3dtiles(osgb、las转3dtiles)切片         转换完成后就可以写代码将其加载到cesium地球上。         有时候加载完成并不能贴地显示,或者贴地显示的具体位置和底

    2024年04月23日
    浏览(48)
  • vue3结合Cesium加载倾斜摄影3dtiles

            这篇文章主要是为了记录加载3dtiles时模型与地形有时候存在一些高度上的差异,为此将解决方法做一个记录,便于其他读者使用。         加载倾斜摄影3dtitle           调整倾斜摄影高度         调用方式:

    2024年02月02日
    浏览(72)
  • Unity倾斜摄影开发-Unity加载3DTiles格式的倾斜摄影模型

    首先看看Unity加载3DTiles格式的效果 首先使用上一章节生成的osgb格式的倾斜摄影模型,上节地址:Unity倾斜摄影开发-航拍图片生成3mx和OSGB模型_虚拟现实(微尘)的博客-CSDN博客 使用软件  Unity3d 3DTiles(Unity3d插件,大家可以到Unity商城中下载,下载地址:3DTiles | Modeling | Unity A

    2024年02月03日
    浏览(52)
  • Cesium clipping planes 3dtiles模型剖切 3dtiles模型贴地 vue代码

    使用Cesium的clippingPlanes实现对3dtiles模型的剖切效果。 相关官方文档地址:ClippingPlaneCollection、Cesium3DTileset 官方Demo地址:3D Tiles Clipping Planes 官方介绍:Cesium Feature Highlight: Clipping Planes 函数用于加载和显示3D Tiles模型以及剪切平面clipping planes。 在函数内部,首先创建了一个 Cesium.P

    2024年04月23日
    浏览(37)
  • 基于Node.js的3DTiles三维倾斜摄影模型爬虫

    随着小型无人机的普及,乡村级的倾斜摄影模型构建已经越来越简单。一个无人机和一名飞手2个小时内就可以完成。在做WebGIS和Cesium开发时,3DTiles是一种常用的倾斜摄影三维模型的切片格式。3DTiles格式通常有散列和紧凑两种文件组织形式,其中不同工具生成的散列数据使用

    2023年04月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包