cesium中移动地球时,模型(3dtiles)感觉在飘着,会错位的解决办法

这篇具有很好参考价值的文章主要介绍了cesium中移动地球时,模型(3dtiles)感觉在飘着,会错位的解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先看下问题

加入一个白膜,移动视角,会感觉这个白膜不在固定的位置,飘忽不定
cesium中移动地球时,模型(3dtiles)感觉在飘着,会错位的解决办法,3d,javascript,开发语言

原因分析

这是由于在这个场景中添加了地形,白膜与地形相交了。

解决办法

  1. 如果给定的模型高度是高于地面的,则可以关闭地形
viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider();
  1. 如果必须有地形,或者原始给定的3dtiels高度低于地面,则设置3dtiles高度高于地形
 tileset.readyPromise.then(function (tileset) {
   var heightOffset = 370.0;

   var boundingSphere = tileset.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()
   );

   tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
 });

这里高度值heightOffset 需要获取该区域地形的高程值。

  1. 开启地形深度检测
viewer.scene.globe.depthTestAgainstTerrain = true;

这种方法比较简单,但是对性能有一定损耗。
cesium中移动地球时,模型(3dtiles)感觉在飘着,会错位的解决办法,3d,javascript,开发语言文章来源地址https://www.toymoban.com/news/detail-698234.html

到了这里,关于cesium中移动地球时,模型(3dtiles)感觉在飘着,会错位的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Cesium】调整3dtiles模型的光照

    最近有个项目需要把掘进车放到巷道里面,加载出来的效果一片漆黑,看不清模型细节。  由于Cesium中材质没有自发光的设置,所以只能设置光源。 在网上查了一些代码,Cesium的光照效果的设置是通过webgl修改白膜的材质来实现的,由于巷道本身有贴图材质,用该方法实现的

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

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

    2024年02月03日
    浏览(41)
  • Cesium:3DTiles三维模型高度调整

            地形遮挡属性          如下两张图所示,输入高度值,根据需要调整模型高度。例如:针对近地面的管线数据,可能有一部分是埋在地下的,那么,如果开启了地形遮挡属性(即:设置为true,默认是false),那么,在进行场景渲染加载模型切片时,就会进行深度测

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

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

    2024年02月11日
    浏览(40)
  • cesium-影像图&地形图&3dtiles模型

    ImageryLayer类: Cesium.ImageryLayer类用于表示Cesium中的影像图层,它就相当于皮毛、衣服,将数据源包裹在内,它需要数据源(imageryProvider)为其提供内在丰富的地理空间信息和属性信息,同时,通过该类还能设置影像图层相关属 性。 常用属性如下: name(名称), alpha(透明度) bri

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

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

    2024年02月07日
    浏览(57)
  • 【Cesium】3Dtiles建筑模型分层渲染的思路

    真的很久没有更新过博客了,最近入职了新公司,要做一个新的项目,使用到cesium,翻阅外网和国内各大网站,发现资料真的很少。国内很多资料都是翻译外网的,所以,没去过外网的同学,其实去不去也没必要了。而国内的环境真的是一筹莫展:要么就是有经验的人二次封

    2024年02月05日
    浏览(29)
  • Cesium将Point渲染到3dtiles模型表面上

    1、功能需求:将point点渲染到三维模型表面上; 2、代码实现: 第一步,绘制点对象,entity 第二步,根据经纬度坐标(没有高度值),获取该经纬度在三维模型表面上的高度值

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

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

    2024年04月23日
    浏览(46)
  • Cesium示例程序学习和讲解(4)-调整3DTiles模型高度

    本节主要讲解的内容? 在三维场景中如何加载3dtiles模型,如何调整模型在场景中的高度 涉及的主要接口有? Cesium3DTileset、HeadingPitchRange、Cartographic、Matrix4 介绍下HeadingPitchRange接口接相关参数介绍? 当使用Cesium框架进行三维场景渲染时,常常需要在场景中创建相机视图。而

    2024年02月10日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包