批量生成模型缓存

使用说明

一次性将数据源中的模型数据(模型数据集或CAD)生成一份S3MB或S3MBLOCK格式缓存文件,加载此模型缓存,能够大幅度提升模型浏览性能与显示效果。

操作步骤

  1. 在工作空间管理器中,打开需要生成模型缓存的数据源。
  2. 在“三维数据”选项卡上“三维瓦片”组中,单击“生成缓存”下拉菜单中的模型” 按钮,弹出“批量生成模型缓存”对话框。
  3. 添加数据集时,单击按钮,在打开的“选择”界面选择数据集。
  4. "选择"对话框界面左边区域内选择数据源,界面右边区域显示选中数据源内的所有模型数据集,单击“全选”或多选,确定添加的数据集,单击“确定”执行数据集添加操作,也可新建数据集作为添加数据集。
  5. 基础设置
    • 切片名称:生成缓存的配置文件名,默认与数据源名一致,可修改。
    • 瓦片路径:模型缓存存储路径,在该路径下创建了一个以缓存名称命名的文件夹存放缓存文件。
    • 属性存储类型:支持S3MB和Attribute两种。
      • S3MB:以json的方式存储。
      • Attribute:以二进制流的方式存储,更适合属性信息多的数据使用。
    • 线程数:默认为4。
    • S3M版本:支持S3M1.0、S3M2.0、S3M3.0三种类型。
      • S3M 2.0:支持PBR材质,调整属性文件存储结构(二进制流)。
      • S3M 3.0:支持Meshopt的几何压缩方式,支持OBB包围盒和椭球。
    • 文件类型:支持S3MB和S3MBLOCK两种类型。
      • S3MB:一种开放式可扩展的空间三维模型数据格式的压缩数据格式,适用于空间三维模型数据的传输、交换与共享。
      • S3MBLOCK:模型生成三维切片时,将纹理与骨架分离,多用于精细模型,能有效解决切片文件过大的问题,提升加载效率。
    • 纹理压缩格式:设置生成的场景缓存的用途,主要支持五种压缩格式。对于不同用途的缓存,应用程序将采用不同的纹理压缩方式,以减少纹理图像所使用的显存数量。
      • WebP:大幅减少数据总量,PC与移动端都支持的纹理压缩格式。
      • DXT(PC设备):减少显存占用,提升渲染性能,但是数据总量会增加。
      • CRN_DXT5(PC设备):减少显存占用,减少数据总量,但是需要较长的处理时间。
      • KTX2.0:减少显存占用,减少数据总量,但是需要处理时间比标准CRN长。
    • 顶点优化方式:提供不压缩、Meshopt方式。Meshopt,数据总量缩小,利于前端渲染,对BIM模型的压缩比例更大。该方法为有损压缩,对条带状的单个对象建议切分后使用。
  6. 瓦片设置
    • 瓦片边长:显示和设置瓦片边长的大小,单位为米。瓦片边长大小不同则对应的比例尺不同,将鼠标移至“瓦片边长”标签后的问号处,即可查看瓦片边长与比例尺、层级的对应关系。“瓦片边长”标识了缓存层相对于指定瓦片边长所对应的比例尺。
    • 过滤阈值:过滤掉粗糙层较小的子对象,从而提升大场景数据的性能。 例如,过滤阈值设为2,则在最粗糙层过滤掉最长边小于2米的子对象,次粗糙层过滤掉小于1米的子对象,以此类推。最精细层子对象不过滤。
    • 金字塔剖分类型:设置缓存切片创建树型金字塔的剖分类型,应用程序提供了四叉树和八叉树两种方式。四叉树适合城市级别的建筑剖分;八叉树适合单独一栋高楼做剖分,主要应用于BIM数据。
    • 瓦片高度:当金字塔剖分类型为八叉树时,此参数可用。瓦片高度是以固定的高度指沿Z轴切分模型。此参数多用于模型建筑较高的数据。
    • LOD层数:LOD 即 Levels of Detail,是指设置缓存显示的细节层次。
  7. 纹理及属性高级设置
    • 纹理设置:目前支持两种纹理设置:多重纹理和单重纹理。多重纹理支持生成叠加纹理,单重纹理仅支持生成第一重纹理
    • 第二重纹理类型:支持不处理、光照阴影纹理。当模型数据是夜景数据时,建议选择不处理。
    • 纹理大小限制:用于设置纹理大小,可选不限制、1024像素*1024像素、2048像素*2048像素以及4096像素*4096像素等选项,默认为不限制。
    • 对象ID字段:用于发布服务后,在前端查询属性信息时,关联查询对象属性信息的唯一标识字段。可修改,字段类型为32位整型。
    • 顶点权重模式:提供无、数据集字段、三角形最短边和原始特征值四种方式。其中,无是指以高度作为权重,数据集字段是指以指定字段作为权重,三角形最短边是指以点所在的三角形最短边作为权重,原始特征值是指以模型数据本身的特征值作为权重。
    • 特征值字段:只有顶点权重模式为数据集字段时,该选项可用。单击右端下拉箭头指定字段。
    • 字段设置:用于设置生成三维切片缓存的属性字段,默认生成全部字段信息。
    • 重复贴图打组,纹理共用,带法线、实例化、带边框:根据需求可自行勾选,纹理共用只支持纹理压缩格式为“DXT(PC设备)”。
  8. 数据美化设置
    • 材质类型:支持普通材质,PBR材质,UE材质和Unity四种类型,当模型数据的材质存在pbr材质时可选择生成PBR材质。
    • 材质管理文件:json文件,支持材质外挂。
    • 生成第二重纹理坐标:当模型本身侧面U/V值和游戏引擎上贴图的U/V不一致时使用,会生成第二重纹理的U/V,用于自发光纹理贴图,从而美化场景。
    • 纹理横向尺寸:设置U方向上的尺寸大小 。
    • 纹理纵向尺寸:设置V方向上的尺寸大小。
  9. 设置完成后,单击“生成”按钮,执行模型缓存生成操作。其中 *.scp 为缓存配置文件,indexData.dat 为缓存索引文件。

注意事项

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