当前位置:   article > 正文

Cesium示例程序学习和讲解(5)-点选3DTiles模型要素_cesium选择三维模型物体

cesium选择三维模型物体

本次分享的讲解视频已经发布至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对象虽然有相似之处,但它们的使用方式和属性方法都有所不同,因此在使用时需要注意区分。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/99726
推荐阅读
相关标签
  

闽ICP备14008679号