生成三维切片缓存
使用说明
三维切片缓存可以用来提高模型数据在场景中的显示效率。超图编辑器iDesktop支持模型数据集生成 S3M格式的缓存文件。
操作步骤
- 在模型数据集右键菜单中选择“生成缓存...”。
- 弹出的“生成场景缓存”对话框,用来添加模型数据和设置三维切片缓存的参数。单击
,弹出“选择”对话框,在对话框左侧列举了当前的工作空间中的所有数据源,右侧列举了该数据源中所有的数据集。用户可以利用对话框上方的工具条对所需要的数据集进行筛选和查找,选择完模型数据集成后,单击“确定”按钮。
- 返回“生成场景缓存”对话框,可以看到选择的属性数据集显示在列表中。
- 数据列表区域:
- 数据集:显示了用于生成三维切片缓存的数据集名称。
- 数据源:显示了用于生成三维切片缓存的数据集所在的数据源的名称。
- 缓存类型:显示了所要生成的三维切片缓存的类型。缓存类型为下拉按钮,下拉列表中列出了所选数据所支持的所有缓存类型,用户可从中进行选择。
- 场景类型:场景类型为球面,当数据集坐标系为投影坐标系时,场景类型支持切换为平面。
- 基础设置:
- 缓存名称:在“缓存名称”右侧的文本框中输入缓存名称,即缓存根目录的名称。
- 缓存路径:在“缓存路径”右侧的文本框中输入缓存的输出路径,可以为本地路径,也可以为网络路径;用户还可以通过文本框后的“浏览”按钮来选择路径。
- 参数设置:
- 合并根节点:勾选合并根节点后,可设置根节点合并次数。如输入1,即模型根节点将进行一次合并处理。
- 带法线、实例化以及带线框3个选项:默认勾选带法线,根据需求可自行勾选。
- 带线框:用于生成三维切片缓存的轮廓。
- 纹理压缩格式::目前支持五种压缩类型:WebP、DXT(PC设备)、CRN_DXT5(PC设备)、标准CRN、KTX2.0,默认为DXT(PC设备)。对于不同用途的数据,采用不同的纹理压缩方式,可以减少纹理图像所使用的显存数量。
- WebP:适用于 Web端/PC机上通用的压缩纹理格式。数据总量减少,提高传输性能。
- DXT(PC设备):适用于 PC 机(个人计算机)上通用的压缩纹理格式。显存占用减少,提升渲染性能,但是数据总量会增加。
- CRN_DXT5(PC设备):显存占用少许减少,数据总量大幅度减少,但是需要较长的处理时间。
- 标准CRN:显存占用少许减少,数据总量大幅度减少。处理相同数据,所需时间比CRN_DXT5长。
- KTX2.0:显存占用少许减少,数据总量大幅度减少。处理相同数据,所需时间比标准CRN长。
- S3M版本:支持两种S3M版本号,S3M1.0和S3M2.0。其中S3M2.0支持PBR材质。
- 属性存储类型:支持两种属性存储类型,S3MD和ATTRIBUTE,提高属性文件的下载效率。其中S3MD的是以json的方式存储,ATTRIBUTE以二进制流的方式存储。
- 过滤阈值:过滤掉粗糙层较小的子对象,从而提升大场景数据的性能。 例如,过滤阈值设为2,则在最粗糙层过滤掉最长边小于2米的子对象,次粗糙层过滤掉小于1米的子对象,以此类推。最精细层子对象不过滤。
- 金字塔剖分类型:用于设置缓存切片创建树型金字塔的剖分类型,应用程序提供了四叉树和八叉树两种方式。其中,四叉树适合城市级别的建筑剖分;八叉树适合单独一栋高楼做剖分,主要应用于 BIM 数据。
- 瓦片高度:若金字塔剖分类型选择八叉树,可以设置此参数。即模型纵向切割生缓存。
- 瓦片边长:一个切片的范围,一般默认就行,如果数据精度高,瓦片边长可适当缩小;如果数据较粗糙,瓦片边长可适当增大。
- 文件类型:支持S3MB和S3MBLOCK两种数据格式。
- 线程数:设置参与生成缓存的线程数,使缓存生成更加高效,默认为4。
- 模型定位点:用于设置模型追加生成缓存的参数,追加模型数据集生成缓存时,模型定位点应当与追加前的模型数据集的定位点保持一致。
- 纹理设置:目前支持两种纹理设置:多重纹理和单重纹理。多重纹理支持生成叠加纹理,单重纹理仅支持生成第一重纹理。
- 纹理处理方式:用于设置生成的缓存的纹理处理方式,提供了拼接、拼接且重映射和重映射三种方式。其中,拼接适用于三角网较密集的数据,对于这类数据采取拼接的方式会提高生成缓存的效率。
- 纹理大小限制::用于设置纹理大小,可选不限制、1024像素*1024像素、2048像素*2048像素以及4096像素*4096像素等选项,默认为不限制。
- 第二重纹理类型:目前支持两种纹理:光照阴影纹理、自发光纹理。根据数据纹理情况选择参数。
- 对象字段ID:用于设置唯一标识ID的字段,通过下拉箭头进行选择。
- 特征值:只有选择数据集字段作为顶点权重模式时,该选项可用。单击右端下拉箭头指定字段。
- 顶点权重模式:提供无、数据集字段、高度和原始特征值四种方式。其中,数据集字段是指以指定字段作为权重,高度是指以高度作为权重,原始特征值是指以模型数据本身的特征值作为权重。
- 几何压缩方式::只有当顶点权重模式为无时,可以设置几何压缩方式。当S3M版本为S3M1.0和S3M2.0时支持常规压缩和不压缩两种方式。当S3M版本为S3M3.0时支持Meshopt压缩和不压缩两种方式
- 材质类型:支持普通材质,PBR材质、UE材质、Unity材质四种材质类型。若模型数据中存在PBR材质,可勾选PBR材质。若要生成的缓存结果,在游戏引擎插件中做特效,可勾选UE材质或Unity材质。
- 材质关联文件:支持*.json格式的材质关联文件。
- 字段信息:用于设置生成三维切片缓存的属性字段,默认生成全部字段信息。
- 纹理共用、重复贴图打组2个选项:默认勾选重复贴图打组,根据需求可自行勾选。
- 瓦片范围:在“瓦片范围”区域进行设置,有下面两种方式:
- 勾选“默认范围”复选框,默认采用数据集的范围。
- 不勾选“默认范围”复选框,用户可自定义范围。有两种方式,一种是通过选择范围数据集,取选择的数据集的范围;另一种是直接在左上右下四个文本框中输入范围值。
- LOD层级设置:用于设置三维切片缓存显示的细节层次。
- LOD级数:用于设置缓存的LOD层级数,在数值框中直接设置即可,LOD设置默认参数改为75%,50%,25%。
- 层级:表示两层之间的相机高度切换距离差,例如:第2层的距离设置为200米,若相机高度为1000米时显示的是第3层缓存模型,则当相机高度为800米时则显示为第2层缓存模型。
- 网格简化率:指的是对模型显示的细节按照百分比进行简化(100%表示数据全部参与简化,0表示数据不参与简化),如果数据集本身带有LOD设置这个参数无效。有利于合理地分配模型渲染的资源,达到高效率的场景显示。
- 默认勾选“显示进度条”,单击“生成”按钮,执行三维切片缓存生成操作。
备注
关于全球剖分规则的介绍可以参照缓存目录其他层级结构构建基础中的简介。
注意事项
- 新建三维切片缓存时,建议不同的三维切片缓存创建在不同的目录下。因为生成三维切片缓存时,将会在指定的目录下生成三维切片缓存配置文件 *.scp、三维切片缓存索引文件以及缓存目录和缓存文件,如果两个三维切片缓存同时生成在一个目录下,则会出现两个三维切片缓存在相同的经纬度范围内的数据使用同一个缓存目录和缓存文件的情况,因此,为了避免异常情况的发生,建议不同的三维切片缓存生成在不同的目录下。
- 缓存范围设置时的相关事项:在勾选“指定范围”复选框时,左下右上的文本框变为可编辑状态,可以直接输入需要的缓存范围。
- 模型生成三维切片缓存时,单切片缓存大于5M时输出窗口会输出提示信息。当单切片大于5M时可以从以下角度考虑减少切片大小:压缩纹理、顶点优化、限制纹理大小、减少瓦片边长、金字塔类型改为八叉树、减小LOD层级的简化率。