Cesium 视角切换到实体(entity)/ dataSources / 定位到模型(3DTiles)

这篇具有很好参考价值的文章主要介绍了Cesium 视角切换到实体(entity)/ dataSources / 定位到模型(3DTiles)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Cesiumcamera.flyTo 是不可以直接飞到实体的。但是viewer.flyTo可以直接飞到实体。

viewer.flyTo (target, options) :将相机飞到提供的实体、实体或数据源。如果数据源仍在加载过程中或可视化仍在加载中,则此方法在执行飞行之前等待数据准备好

viewer.flyTotarget` 可以是:要查看的实体、实体数组、实体集合、数据源、Cesium3DTileset、点云或图像层。您还可以传递一个解析为前面提到的类型之一的 Promise

例如下面代码,加载了一个geojson,然后通过flyTo直接将视角切换到geojson加载的位置

// 读取geojson
let geoPromise = Cesium.GeoJsonDataSource.load("geojson地址");

geoPromise.then((dataSource) => {
	// 加载geojson
	viewer.dataSources.add(dataSource);
	// 视角切换到geojson
	viewer.flyTo(dataSource.entities.values)
})

viewer.flyTooption 参数设置

// 读取geojson
let geoPromise = Cesium.GeoJsonDataSource.load("geojson地址");

geoPromise.then((dataSource) => {
	// 加载geojson
	viewer.dataSources.add(dataSource);
	// 视角切换到geojson
	viewer.flyTo(dataSource.entities.values,{
		duration: 1,	// 以秒为单位的飞行持续时间。
		maximumHeight: 2000,	// 飞行高峰时(切换视角时)的最大高度。
	    offset : {
	        heading : Cesium.Math.toRadians(0.0),	// 以弧度为单位的航向角。
	        pitch : Cesium.Math.toRadians(-90),		// 以弧度为单位的俯仰角。
	        range : 0								// 到中心的距离,以米为单位。
	    }
	});
})

说一个我遇见的情况: 我在 viewer.flyTodataSources 的时候,发现视角变小了,最终通过调整 offset 参数解决了,大家可以参考一下

viewer.flyTo(dataSource.entities.values,{
	duration: 1,	// 以秒为单位的飞行持续时间。
    offset : {
    	heading: Cesium.Math.toRadians(0.0),	// 以弧度为单位的航向角。
        pitch: -Math.PI / 2,					// 以弧度为单位的俯仰角。
        range: 10								// 到中心的距离,以米为单位。								
    }
});

最后说一下,如果定位的时候带有角度,用 viewer.flyTocamera.flyTo 准确。

定位到模型(3DTiles)文章来源地址https://www.toymoban.com/news/detail-668935.html

  // 加载倾斜数据(3DTiles模型)
  let palaceTileset = new Cesium.Cesium3DTileset({
    url: "3DTiles模型地址",
    //控制切片视角显示的数量,可调整性能
    maximumScreenSpaceError: 2,
    maximumNumberOfLoadedTiles: 1000000,
  })
  // 3DTiles模型添加到场景
  viewer.scene.primitives.add(palaceTileset);
  
  // 定位到3DTiles模型
  viewer.zoomTo(palaceTileset);

到了这里,关于Cesium 视角切换到实体(entity)/ dataSources / 定位到模型(3DTiles)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vue2 使用 cesium 【第二篇-相机视角移动+添加模型】

    搞了一阵子 cesium,小白入门,这东西很牛逼,但是感觉这东西好费劲啊!网上资料不多,每个人的用法又不一样,操作起来真的是绝绝子。之前写了一篇 vue2 使用 cesium 的博文,没有写完,本来想继续写来着,想了一下还是重新开一篇吧。上一篇说到了事件,今天不想写事件

    2024年02月11日
    浏览(28)
  • Cesium 问题:加载 gltf 格式的模型之后太小,如何让相机视角拉近

    刚加载的模型太小,如何拉近视角放大 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近 一种是刚加载就直接拉近视角

    2024年02月22日
    浏览(48)
  • cesium-2-entity

    viewer -- datasources(DataSourceCollection类型) -- datasource -- entities(EntityCollection类型) -- entity 需要学习的方向是:只需要注意每个层与层之间的关系和entity实例如何创建即可 增: add(dataSource) → Promise.DataSource 删:(destroy一般为boolean,指是否需要直接销毁该datasource) remove(dataSource,

    2024年02月01日
    浏览(24)
  • Cesium entity 渐隐渐显、闪烁

     点entity 面entity 

    2024年02月13日
    浏览(24)
  • Cesium: Primitive vs Entity

    Cesium Sandcastle: Variety of available entities 更高级别的 数据驱动 API ,它使用一致性设计的、高级别对象来管理一组相关性的可视化对象,其底层也是使用的 primitive 。 多个类型的实体可以结合使用(如 billboard + label),但同一种实体不能存在多个(如多个 billboard 只能分别创建

    2023年04月10日
    浏览(24)
  • GameFramework框架详解之 Entity实体

    GameFramework中Entity,一般用于游戏运行时动态加载的游戏对象,如角色,怪物,武器,技能,子弹,特效等。 一般来说,我们想创建一个实体,最简单的方法当然是Resource.Load()+Instantiate(),然后放到合适的位置,播放合适的动画即可。 但是GameFramework却给每个实体定义了一个

    2024年02月13日
    浏览(37)
  • cesium-2-entity(包含gltf创建)

    viewer -- datasources(DataSourceCollection类型) -- datasource -- entities(EntityCollection类型) -- entity 需要学习的方向是:只需要注意每个层与层之间的关系和entity实例如何创建即可 增: add(dataSource) → Promise.DataSource 删:(destroy一般为boolean,指是否需要直接销毁该datasource) remove(dataSource,

    2024年02月01日
    浏览(27)
  • 第六章 Cesium学习入门之添加Geojson数据(dataSource)

    第一章 Cesium学习入门之搭建Vite+Vue3+Cesium开发环境 第二章 Cesium学习入门之搭建Cesium界面预览和小控件隐藏 第三章 Cesium学习入门之地形数据(DEM)的加载 第四章 Cesium学习入门之加载离线影像图(tif) 第五章 Cesium学习入门之加载影像WMTS切片服务(ArcGIS/Geowebcache) 第六章 Ce

    2024年02月16日
    浏览(31)
  • Springboot实体类entity相关知识点详解

    目录 entity实体类相关知识点详解:       解释1:上面代码使用的注解是 Lombok 提供的注解,用于简化实体类的开发。       解释2:属性的注释自动生成问题:                解释3:java序列化反序列化,实体类实现Serializable接口:                     java序列化和反

    2024年02月08日
    浏览(30)
  • Unity Game FrameWork—模块使用—Entity实体

    官方解释:我们将游戏场景中,动态创建的一切物体定义为实体。此模块提供管理实体和实体组的功能,如显示隐藏实体、挂接实体(如挂接武器、坐骑,或者抓起另一个实体)等。实体使用结束后可以不立刻销毁,从而等待下一次重新使用。 先看下实体组件的参数: Enab

    2024年02月05日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包