Cesium示例程序学习和讲解(5)-点选3DTiles模型要素

本次分享的讲解视频已经发布至b站,感兴趣的同学点击链接观看学习
链接: https://www.bilibili.com/video/BV1PY411z7Hn/?vd_source=4d61a6212ec109857608aa8abf48f609

本节主要讲解的内容?

本节主要讲解如何对3DTiles模型的要素进行拾取,如何对拾取的要素进行属性信息读取和修改要素颜色

涉及的主要接口有?

ScreenSpaceEventHandler、ScreenSpaceEventType、Cesium3DTileset、Cesium3DTile、Cesium3DTileFeature

介绍下cesium中Cesium3DTileset、Cesium3DTile、Cesium3DTileFeature这三个类的关系?

Cesium3DTileset、Cesium3DTile、Cesium3DTileFeature是Cesium中用于加载、渲染和操作3D Tile数据的重要类,它们之间的关系如下:

  1. Cesium3DTileset是一个最高级别的类,表示一个3D Tile数据集。Cesium3DTileset实例可以通过Cesium的Tileset类创建,并且可以通过url或json数据加载3D Tile数据。Cesium3DTileset负责管理整个3D Tile数据集,并对其中的每个3D Tile进行加载、解析和渲染。

  2. Cesium3DTile是Cesium3DTileset中的一个单独的3D Tile对象,它表示一个具有几何体和纹理的3D模型。Cesium3DTile对象可以包含多个几何体,每个几何体又包含多个几何属性(如位置、法线、纹理坐标等)。Cesium3DTile对象负责管理自身的几何体和纹理,并且可以通过Cesium3DTileset的方法进行加载、卸载和渲染。

  3. Cesium3DTileFeature是Cesium3DTile中的一个要素对象,表示一个3D Tile中的一个具体对象(如建筑、树木、汽车等)。Cesium3DTileFeature对象可以包含多个属性和几何信息,可以通过Cesium3DTile的方法进行查询和渲染。
    因此,Cesium3DTileset是最高级别的类,包含多个Cesium3DTile对象,而每个Cesium3DTile对象又可以包含多个Cesium3DTileFeature对象。这三个类一起构成了Cesium中3D Tile数据的层次结构,提供了高效的3D模型加载和渲染功能。

介绍下Cesium3DTileFeature和primitive的区别?

Cesium3DTileFeature和primitive都是Cesium中用于渲染3D场景的对象,但它们的作用和使用方式有所不同。

Cesium3DTileFeature是Cesium中用于表示3D Tile中一个具体对象的要素对象,它包含了3D Tile中一个对象的几何和属性信息。Cesium3DTileFeature对象可以通过tileset.getFeatureByName、tileset.getFeatureByTile、tileset.getFeatureByUniqueID等方法来获取,通常用于在3D场景中对3D Tile中的具体对象进行查询、操作和渲染。

primitive则是Cesium中用于表示3D场景中的图元(primitive),它包含了3D场景中的几何信息和材质信息。Cesium中支持多种类型的primitive,例如BoxPrimitive、EllipsoidPrimitive、PolygonPrimitive等,每种primitive都有自己的属性和方法,用于控制其外观和行为。通常情况下,用户需要先构造一个primitive对象,然后将其添加到3D场景中进行渲染。

Cesium3DTileFeature对象和primitive对象的关系可以简单理解为,Cesium3DTileFeature对象是3D Tile中具体对象的一个抽象表示,而primitive对象是3D场景中的一个具体图元。在Cesium中,Cesium3DTileFeature对象和primitive对象经常需要进行转换和结合使用,例如通过Cesium3DTileFeature对象获取几何信息,并使用这些信息创建primitive对象进行渲染。又例如,在选中某个Cesium3DTileFeature对象时,通常需要在场景中为其创建一个primitive对象以便进行视觉上的反馈。
需要注意的是,Cesium3DTileFeature对象和primitive对象虽然有相似之处,但它们的使用方式和属性方法都有所不同,因此在使用时需要注意区分。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值