模型数据集合并生成瓦片
使用说明
该功能支持一次性将数据源中的模型数据(模型数据集或CAD)生成一份S3MB或S3MBLOCK格式文件。在场景中加载此模型瓦片,能够大幅度提升模型浏览性能与显示效果。
功能入口
- 三维数据选项卡->三维瓦片组->生成瓦片下拉菜单->多数据集合并生成瓦片模块->模型按钮
操作步骤
- 在工作空间管理器中,打开需要生成模型瓦片的数据源。
- 在“三维数据”选项卡上“三维瓦片”组中,单击“生成瓦片”下拉菜单中的“模型” 按钮,弹出“合并生成模型瓦片”对话框。
- 添加数据集时,单击按钮,在打开的“选择”界面选择数据集。
- "选择"对话框界面左边区域内选择数据源,界面右边区域显示选中数据源内的所有模型数据集,单击“全选”或多选,确定添加的数据集,单击“确定”执行数据集添加操作,也可新建数据集作为添加数据集。
- 工具栏:
- 全选:将数据列表中的数据集全部选中后可对数据集进行批量操作,如:删除和批量设置瓦片参数。
- 反选:选中数据列表中未被选中的数据集。
- 删除:将数据集从当前数据列表中移除。
- 设置密码:为生成的三维瓦片设置密码,设置密码后的三维瓦片数据在打开时需要输入密码。单击“设置密码”按钮,在“密码”和“确认密码”框中输入相同密码,然后单击“确认”即完成密码设置。需要注意的是仅S3MBLOCK格式的文件支持设置密码。
注意事项:
- 批量设置瓦片参数时,在键入具体参数值后,需要单击回车键(Enter)才能生效,否则可能导致批量赋相同参数值不起作用。
- 基础设置
- 瓦片名称:生成瓦片的配置文件名,默认与数据源名一致,可修改。
- 瓦片路径:模型瓦片存储路径,在该路径下创建了一个以瓦片名称命名的文件夹来存放。
- 属性存储类型:用于设置数据属性的存储格式,支持如下类型:
- S3MD:以JSON格式存储,能够快速提取单个对象的所有属性信息。
- ATTRIBUTE:以二进制流的方式存储,更适合属性信息多的数据使用,可快速提取多个对象的指定字段的属性信息。
- DB:以DB大文件方式存储,仅S3M版本为S3M 3.01时可用。支持Web端大数据量S3M瓦片对象属性的快速查询,以及利用属性字段快速制作专题图。
- 线程数:设置用于批量生成模型瓦片的线程,默认为4。
- S3M版本:支持S3M1.0、S3M2.0、S3M3.0、S3M 3.01四种类型。
- S3M 1.0:不支持PBR材质、支持生成以圆球体为基准面的瓦片。
- S3M 2.0:支持PBR材质,调整属性文件存储结构(二进制流)、支持生成以圆球体为基准面的瓦片。
- S3M 3.0:支持OBB包围盒,支持生成以椭球体为基准面的瓦片,支持Meshopt顶点优化方式。
- S3M 3.01:符合CH/T 9040-2023标准的规定,支持OBB包围盒,支持生成以椭球体为基准面的瓦片,支持Meshopt顶点优化方式。
- 文件类型:支持S3MB和S3MBLOCK两种类型。
- S3MB:一种开放式可扩展的空间三维模型数据格式的压缩数据格式,适用于空间三维模型数据的传输、交换与共享。
- S3MBLOCK:模型生成三维瓦片时,将纹理与骨架分离,多用于精细模型,能有效解决瓦片文件过大的问题,提升加载效率。S3M 1.0不支持设置S3MBLOCK格式。
- 纹理压缩格式:对于不同用途的瓦片数据,应用程序将采用不同的纹理压缩方式,以减少纹理图像所使用的显存数量。目前支持以下四种纹理压缩格式:
- WebP:大幅减少数据总量,PC与移动端都支持的纹理压缩格式。
- DXT(PC设备):减少显存占用,提升渲染性能,但是数据总量会增加。
- CRN_DXT5(PC设备):减少显存占用,减少数据总量,但是需要较长的处理时间。
- KTX2.0:减少显存占用,减少数据总量,但是需要处理时间比标准CRN长,PC与移动端都支持的纹理压缩格式。
- 顶点优化方式:当S3M版本为S3M 1.0、S3M 2.0时,顶点优化方式仅支持不压缩。当S3M版本为S3M 3.0、S3M 3.01时,顶点优化方式仅支持不压缩、Meshopt方式。Meshopt压缩会使数据总量缩小,利于前端渲染,对BIM模型的压缩比例更大。但该方法为有损压缩,对条带状的单个对象建议切分后使用。常规压缩与Meshopt相比,压缩力度较小,压缩耗时也相对较短。
- 瓦片设置
- 瓦片边长:显示和设置瓦片边长的大小,单位为米。瓦片边长大小不同则对应的比例尺不同。当数据密集且几何、纹理都简单时,瓦片边长可以设置较大值,如1000。当数据稀疏且几何或纹理较复杂时瓦片边长可以设置较小值,如200。
- 过滤阈值:过滤掉粗糙层较小的子对象,从而提升大场景数据的性能。 例如,过滤阈值设为2,则在最粗糙层过滤掉最长边小于2米的子对象,次粗糙层过滤掉小于1米的子对象,以此类推。最精细层子对象不过滤。
- 金字塔剖分类型:设置瓦片创建树型金字塔的剖分类型,包括四叉树、八叉树和KD树。四叉树适合城市级别的建筑剖分;八叉树适合单独一栋高楼做剖分,主要应用于BIM数据;选择KD树后支持数据自适应剖分。
- 瓦片高度:当金字塔剖分类型为八叉树时,此参数可用。瓦片高度是以固定的高度指沿Z轴切分模型。此参数多用于模型建筑较高的数据。
- LOD层数:LOD 即 Levels of Detail,是指设置瓦片显示的细节层次。所有的LOD层都属于粗糙层。您可以对不同的LOD设置不同的简化率。当数据整体范围较大时(城市级别),LOD值可以设置较大值,例如5。
- 纹理及属性高级设置
- 纹理设置:目前支持两种纹理设置:多重纹理和单重纹理。多重纹理支持生成叠加纹理,单重纹理仅支持生成第一重纹理
- 第二重纹理类型:支持不处理、光照阴影纹理。当模型数据是夜景数据时,建议选择不处理。
- 纹理大小限制:用于设置纹理大小,可选不限制、1024像素*1024像素、2048像素*2048像素以及4096像素*4096像素等选项,默认为不限制。
- 对象ID字段:用于发布服务后,在前端查询属性信息时,关联查询对象属性信息的唯一标识字段。可修改,字段类型为32位整型。
- 顶点权重模式:提供无、数据集字段、高度和原始特征值四种方式。其中,数据集字段是指以指定字段作为权重,高度是指以高度作为权重,原始特征值是指以模型数据本身的特征值作为权重。
- 特征值字段:只有顶点权重模式为数据集字段时,该选项可用。单击右端下拉箭头指定字段。
- 字段设置:用于设置生成三维瓦片的属性字段,默认生成全部字段信息。
- 重复贴图打组,纹理共用,带法线、实例化、带边框:根据需求可自行勾选,纹理共用只支持纹理压缩格式为“DXT(PC设备)”。
- 重复贴图打组:在建模的过程中,常常会在一栋建筑上面用到大量重复的纹理贴图。比如,不同楼层上的栏杆,护栏等,往往具有相同的外观,通过共用一个贴图可以大大降低性能与资源的消耗。
- 纹理共用:纹理共用的作用是将精细层模型用到的纹理全部导出到一个文件夹中,如果在不同的模型上用到了同一张纹理,只导出一张纹理。如果数据中,存在大量的建筑使用同一张纹理的情况,可以使用此功能。
- 带法线:表面法线是几何体表面的重要属性,主要用于渲染时产生符合视觉习惯的光照效果。在瓦片渲染时可以根据模型自身的 法线进行渲染。
- 实例化:内存中只需要存储一个对象,与之复用的就只需要更改位置和旋转缩放等状态即可。
- 带边框:用于生成三维瓦片的轮廓。加载到场景中了以后,带线框的数据,可以在场景里面选择风格设置>填充模式为填 充于轮廓即可查看。
- 数据美化设置
- 材质类型:支持普通材质,PBR材质,UE材质和Unity四种类型,当模型数据的材质存在pbr材质时可选择生成PBR材质。
- 材质关联文件:json文件,支持材质外挂。
- 生成第二重纹理坐标:当模型本身侧面U/V值和游戏引擎上贴图的U/V不一致时使用,会生成第二重纹理的U/V,用于自发光纹理贴图,从而美化场景。
- 纹理横向尺寸:设置U方向上的尺寸大小 。
- 纹理纵向尺寸:设置V方向上的尺寸大小。
- 设置完成后,单击“生成”按钮,执行模型瓦片批量生成操作。
注意事项:
- 当待生成瓦片列表中模型数据集的坐标系不一致时,会导致生成失败。
- 瓦片边长决定了瓦片根节点数量:边长越大,根节点越少;相反,边长越小,根节点越多,生成瓦片时间更长。根节点数量过多时,加载模型将在一定程度上变慢。
- LOD层级数对模型显示时的切换平滑效果有影响:LOD层级数越大,模型显示时切换的效果越平滑;另一方面,LOD层级数设置过大,将导致生成冗余层级的模型,生成瓦片耗费时间较长。请根据显示需求设置合理数值。
- 圆球数据支持在椭球场景上加载;椭球数据也支持在椭球上加载;椭球数据不支持在圆球上加载。