cesium入门(三)添加3D Tiles,并调整位置,贴地
一、3D Tiles是什么
3D Tiles数据集以分块、分级渲染,将大数据量三维数据以分块、分层形式组织起来,可以大量减轻浏览器和GPU的负担,3D Tiles包括建筑物、树木、点云和矢量数据。
二、加载3D Tiles数据集
设计步骤:
- 创建平移矩阵
- 加载模型数据
- 设置相机视角
- 调整高度
或者
- 创建平移矩阵(动态创建参数)
- 加载模型数据
- 设置相机视角
获取偏移量:
加载平移矩阵:
方法一:动态加载modelMatrix
创建平移矩阵的两种方法:
//创建平移矩阵方法一m = Cesium.Matrix4.fromArray([1.0, 0.0, 0.0, 0.0,0.0, 1.0, 0.0, 0.0,0.0, 0.0, 1.0, 0.0,x, y, z, 1.0]);//创建平移矩阵方法二var translation=Cesium.Cartesian3.fromArray([x, y, z]);m= Cesium.Matrix4.fromTranslation(translation);document.getElementById("result").innerText = "x:" + x + " y:" + y + " z:" + z;tileset.modelMatrix = m;
平移矩阵modelMatrix的获得是直接通过设置m矩阵,动态的调整x,y,z的大小,来得到不同的modelMatrix
var x = 360.0;
var y = -920.0;
var z = -820.0;
// var x = 0;
// var y = 0;
// var z = 0;
var m = Cesium.Matrix4.fromArray([1.0, 0.0, 0.0, 0.0,0.0, 1.0, 0.0, 0.0,0.0, 0.0, 1.0, 0.0,x, y, z, 1.0
]);var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'Scene/testm3DTiles.json',maximumScreenSpaceError: 2,maximumNumberOfLoadedTiles: 1000,modelMatrix: m //方法一,动态修改modelMatrix
}));
方法二,直接调用函数,调整高度,height表示物体离地面的高度
偏移矩阵modelMatrix可以由一个translation来确定,通过调整height来获得不同的modelMatrix,然后视角缩放到瓦片集的时候调用changeHeight函数。
function zoomToTileset() {boundingSphere = tileset.boundingSphere;viewer.camera.viewBoundingSphere(boundingSphere, new Cesium.HeadingPitchRange(0, -2.0, 0));viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);changeHeight(0);
}
// tileset数据加载好后,便缩放相机视角
tileset.readyPromise.then(zoomToTileset);...function changeHeight(height) {height = Number(height);if (isNaN(height)) {return;}var cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center);var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height);var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude,height);var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
}
}));
数据的加载
var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: 'Scene/testm3DTiles.json',maximumScreenSpaceError: 2,maximumNumberOfLoadedTiles: 1000,//modelMatrix: m
}));
完整程序:3D Tiles
cesium入门(三)添加3D Tiles,并调整位置,贴地相关推荐
- [WebGL入门]三,3D绘图的基础知识
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指 ...
- cesium之3D Tiles Next(下一代的3D Tiles)介绍
文章目录 1. 概述 2. 元数据的有效流式传输 2.1 类型系统 2.2 不同层级 2.3 语义规范 3. 空间索引增强 3.1 隐式分割 3.2 S2分割算法 4.复合内容分层 5. 与glTF的 ...
- 3D Tiles 简单介绍
3D Tiles是用于流式传输大规模异构3D地理空间数据集的开放规范.为了扩展Cesium的地形和图像流,3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据. 3D Tiles ...
- Cesium:入门教程(五)之 3D Tiles
3D Tiles Cesium 与开源社区合作开发了3D Tiles,用于传输海量的异构三维地理空间数据集.使用概念上类似于Cesium的terrain和imagery的流技术,3D Tiles 使得 ...
- cesium之3D tiles格式介绍
文章目录 1. 介绍 2. 文件扩展和MIME类型 3. JSON编码 4. URIs 5. 单位 6. 概念 6.1 坐标参考系 6.2 瓦片 6.2.1 几何误差 6.2.2 细化 6.2.2.1 ...
- 进一步学习 Cesium 和 3D Tiles 数据相关
接此: https://blog.csdn.net/bcbobo21cn/article/details/112464630 如下一段代码:也能加载出3D Tiles数据:此段代码和前文的有些相似: ...
- 第六章 Cesium学习入门之添加Geojson数据(dataSource)
从0开始的Cesium 第一章 Cesium学习入门之搭建Vite+Vue3+Cesium开发环境 第二章 Cesium学习入门之搭建Cesium界面预览和小控件隐藏 第三章 Cesium学习入门之地 ...
- BIM模型一键输出 3D Tiles (for Cesium) 和 glTF/blg
基于 Autodesk Navisworks Manager 平台,支持 60+种源BIM模型格式,一键输出 svf/f2d, 3D Tiles(Cesium) 或 glTF/glb 格式数据. En ...
- Revit 模型一键输出 3D Tiles (for Cesium) 和 glTF/glb
Engine RVT 版下载地址: https://pan.baidu.com/s/1VyRdmcBx-lMNfYbZn4NtIg 主要功能: 可将 *.rvt/*.rfa 模型输出为以下三种数 ...
最新文章
- DPU加持下的阿里云如何做加密计算?
- 自学python三个月能赚钱吗-自学Python三个月能赚钱吗?
- 【Groovy】Groovy 脚本调用 ( Groovy 类中调用 Groovy 脚本 | 创建 GroovyShell 对象并执行 Groovy 脚本 | 完整代码示例 )
- go interface转int_32. 一篇文章理解 Go 里的函数
- 固定大小容器内,不同比例的图片高度撑满,宽度居中裁剪
- POJ - 3273 Monthly Expense(二分水题)
- ASP.NET Core 2.2 : 扒一扒新的Endpoint路由方案
- php ob 缓存,php中ob函数缓冲机制深入理解
- 【图像处理】灰度加权距离变换(GWDT)
- FileZilla 服务器端win server2008以上的配置
- c语言block内部的实现原理,iOS中block变量捕获原理详析
- 51单片机c语言计数程序,51单片机INTOINT1中断计数c语言源程序.doc
- Javascript--闭包引起的IE内存泄露(转载)
- 哪些影响大数据分析发展
- java arraylist 字符串数组_java中String,数组,ArrayList三者之间的转换
- 科学计算机病毒代码大全,计算机病毒代码有哪些
- d-s证据理论 matlab代码2
- CHM格式打不开解决方案
- 接死你(骚扰拦截利器) V2 登录木蚂蚁市场了!速速下载,反击骚扰!
- 甘超波:NLP抽离与结合