批量生成模型缓存

使用说明

一次性将数据源中的模型数据集生成一份S3MBLOCK或S3MB格式的缓存文件。批量生成模型缓存是将多个模型数据集生成一份缓存,每个模型数据集对应缓存的子图层。当需要用到子图层管理,或者数据集之间属性字段差别比较大时建议使用批量生成模型缓存功能。

操作步骤

  1. 在工作空间管理器中,打开需要生成模型缓存的数据源。
  2. 在“ 三维数据 ”选项卡上“ 三维瓦片 ”组中,单击“ 生成缓存 ”下拉菜单中的 模型 ” 按钮,弹出“批量生成模型缓存”对话框。 MultyModelCacheBuilder Dialog
  3. 添加数据集时,单击“ 添加数据集 ”按钮,在打开的“选择”界面选择数据集。
  4. “选择”对话框界面左边区域内选择数据源,界面右边区域显示选中数据源内的所有模型数据集,单击“全选”或多选,确定添加的数据集,单击“确定”执行数据集添加操作,也可新建数据集作为添加数据集。

    • 单击“ 全选 按钮,将添加的模型数据集全部选中。
    • 参数设置

      • 缓存名称 :生成缓存的配置文件名,默认与数据源名一致,可修改。
      • 缓存路径 :模型缓存存储路径,在该路径下创建了一个以缓存名称命名的文件夹存放缓存文件。
      • 文件类型 :支持S3MB和S3M BLOCK两种格式。
      • S3M版本 :支持两种S3M版本号,S3M1.0和S3M2.0。
      • 瓦片边长 :显示和设置瓦片边长的大小,单位为米。瓦片边长大小不同则对应的比例尺不同,将鼠标移至“瓦片边长”标签后的问号处,即可查看瓦片边长与比例尺、层级的对应关系。“瓦片边长”标识了缓存层相对于指定瓦片边长所对应的比例尺。
      • 字段设置 :用于设置生成三维切片缓存的属性字段,默认生成全部字段信息。
      • 纹理压缩格式 :设置生成的场景缓存的用途,主要用于普通 PC 设备和 iOS 系列设备、Android 系列设备等四种。对于不同用途的缓存,应用程序将采用不同的纹理压缩方式,以减少纹理图像所使用的显存数量。

        • 不压缩:默认的纹理格式。
        • WebP:大幅减少数据总量,PC与移动端都支持的纹理压缩格式。
        • DXT(PC设备):减少显存占用,提升渲染性能,但是数据总量会增加。
        • 标准CRN:减少显存占用,减少数据总量。处理相同数据,所需时间比CRN_DXT5长。
        • CRN_DXT5(PC设备):减少显存占用,减少数据总量,但是需要较长的处理时间。
        • PVRTC(iOS系列设备):iOS移动设备的GPU直接支持的纹理压缩格式。
        • ETC(Android系列设备):Android移动设备的GPU直接支持的纹理压缩格式。
      • 纹理设置 :目前支持两种纹理设置:多重纹理和单重纹理。多重纹理支持生成叠加纹理,单重纹理仅支持生成第一重纹理
      • 纹理处理方式 :用于设置生成的缓存的纹理处理方式,提供了拼接、拼接且重映射和纹理重映射三种方式。其中,拼接适用于三角网较密集的数据,对于这类数据采取拼接的方式会提高生成缓存的效率。
      • 纹理大小限制 :用于设置纹理大小,可选不限制、1024像素1024像素、2048像素2048像素以及4096像素*4096像素等选项,默认为不限制。
      • 线程数 :默认为4。
      • 金字塔剖分类型 :设置缓存切片创建树型金字塔的剖分类型,应用程序提供了四叉树和八叉树两种方式。 默认使用四叉树剖分。
      • 过滤阈值 :过滤掉粗糙层较小的子对象,从而提升大场景数据的性能。 例如,过滤阈值设为2,则在最粗糙层过滤掉最长边小于2米的子对象,次粗糙层过滤掉小于1米的子对象,以此类推。最精细层子对象不过滤。
      • 对象字段ID :用于设置唯一标识ID的字段,通过下拉箭头进行选择。
      • 顶点权重模式 :提供无、数据集字段、高度和原始特征值四种方式。其中,高度是指以高度作为权重,数据集字段是指以指定字段作为权重,原始特征值是指以模型数据本身的特征值作为权重。
      • 顶点优化方式 :只有当顶点权重模式为无时,可以设置顶点优化方式。提供压缩顶点和不压缩两种方式。
      • 特征值 :只有选择数据集字段作为顶点权重模式时,该选项可用。单击右端下拉箭头指定字段。
      • 合并根节点 :勾选合并根节点后,可设置根节点合并次数。如输入1,即模型根节点将进行一次合并处理,模型根节点数量减少约为原始数量的1/4 。
      • 纹理共用、带法线、带线框、重复贴图打组、实例化5个选项: 默认勾选带法线和重复贴图打组,根据需求可自行勾选。
    • 瓦片范围:对“缓存范围”区域进行设置,有以下两种方式:

      • 勾选“默认范围”复选框,默认采用数据集的范围,左上右下四个文本框显示了系统默认范围;
      • 不勾选“默认范围”复选框,用户可自定义范围。有两种方式,一种是通过选择范围数据集,取选择的数据集的范围;另一种是直接在左上右下四个文本框中输入范围值。
    • LOD层级设置:用于设置缓存的LOD层级数,在数值框中直接设置即可。

      • 网格简化率 :指对应LOD层模型显示的细节按照百分比进行简化。有利于合理地分配模型渲染的资源,达到高效率的场景显示。
    • 设置完成后,单击“生成”按钮,执行模型缓存生成操作。其中 *.scp 为缓存配置文件,attribute.json 为缓存索引文件。

注意事项

  1. 瓦片边长决定了缓存根节点数量:边长越大,根节点越少;相反,边长越小,根节点越多,生成缓存时间更长。根节点数量过多时,加载模型将在一定程度上变慢。
  2. LOD层级数对模型显示时的切换平滑效果有影响:LOD层级数越大,模型显示时切换的效果越平滑;另一方面,LOD层级数设置过大,将导致生成冗余层级的模型,生成缓存耗费时间较长。请根据显示需求设置合理数值。
  3. 模型数据集的坐标系,必须为同一坐标系。